CTITLESPPRCP -- INTERVAL VELOCITY MODEL DISPLAY C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA CA DESIGNER JAMES SUN CA AUTHOR JAMES SUN CA LANGUAGE FORTRAN CA SYSTEM IBM/CRAYY CA WRITTEN 06/06/90 C REVISED 09/10/90 JJC - MODIFIED TO MEET EDP STANDARDS. C REVISED 10/10/90 CLJ - MODIFIED USER DOCUMENTATION AND C CHANGED OUTPUT TYPE CHOICES CA CA CALL SPPRCP (NO PARAMETERS) CA CA THIS PREPARATION ROUTINE SCRUTINIZES USER INPUT DATA CARDS CA FOR POSSIBLE ERRORS. IF NO ERRORS ARE FOUND, THE PARAMETERS CA LISTED ON THE INPUT CARDS ARE USED TO DEVELOP PROCESSING CA PARAMETERS FOR USE BY THIS PREPARATION ROUTINE'S CA CORRESPONDING PROCESSOR. THESE PARAMETERS ARE STORED ON CA DISK FOR ACCESS AT PROCESSING TIME. CA C EJECT C C C************************************************************** C * C SUBROUTINES AND FUNCTIONS CALLED FROM THIS ROUTINE * C * C USPHD FORC S1CPCH S1CVBN USCHFT SPPRCPA * C S1MVCH ARSET FOWP FORP * C * C************************************************************** C C C====================================================================== C C* CU PROCESS PRCP -- INTERVAL VELOCITY MODEL DISPLAY CU CU DATA CARD (1) -- PROCESSING PARAMETERS CU CU NO. OF CARDS: REQUIRED = 1 ALLOWED = NO LIMIT CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | 0 | CU 3 - 6 NOT USED | | CU 4 - 7 PROCESSING MODE |LINE CARD| CU 'S' = SHOT POINT | | CU 'D' = DEPTH POINT | | CU 5 8-10 BLANK | | CU 6 11-15 STARTING SHOT/DEPTH POINT | REQ | CU 7 16-20 ENDING SHOT/DEPTH POINT | REQ | CU 8 21-25 SHOT/DEPTH POINT SPACING (FT/METER) | REQ | CU 9 26-30 MAXIMUM DEPTH (FT/METER) | REQ | CU 10 31-35 DEPTH STEP SIZE (FT/METER) | REQ | CU 11 36-40 OUTPUT TYPE | 'DVEL' | CU 'DVEL' = DEPTH/VELOCITY TRACE PLOT (WRIT) | | CU 'DCLR' = DEPTH/COLOR PLOT (QULR/UNISEC) | | CU 'TVEL' = TIME /VELOCITY TRACE PLOT (WRIT) | | CU 'TCLR' = TIME /COLOR PLOT (QULR/UNISEC) | | CU 12 41-80 NOT USED | | CU ----------- CU DF NOTES CU -- ----- CU 1 THE OUTPUT FROM THIS PROCESS IS: CU (1) VELOCITY TRACES (TICD=11), IF THERE IS NO SEISMIC CU TRACE INPUT THROUGH READ; OR CU (2) SEISMIC TRACES (TICD=1) INTERLEAVED WITH VELOCITY TRACES CU (TICD=11), IF PROC CONTAINS READ. CU CU EJECT CU===================================================================== CU CU DATA CARD (2) -- DEFINE OUTPUT VELF FUNTION TYPE AND RANGE CU CU NO. OF CARDS: REQUIRED = 0 ALLOWED = NO LIMIT CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | 0 | CU 3 - 6 NOT USED | | CU 4 - 7 NOT USED | | CU 5 8-10 TYPE OF VELOCITY FUNCTION | REQ | CU 'ZVI' = DEPTH - INTERVAL VELOCITY PAIRS | | CU 'TVI' = TIME - INTERVAL VELOCITY PAIRS | | CU 'TVA' = TIME - AVERAGE VELOCITY PAIRS | | CU 'TVR' = TIME - RMS VELOCITY PAIRS | | CU 6 11-15 STARTING VELF SHOT/DEPTH POINT | REQ | CU 7 16-20 ENDING VELF SHOT/DEPTH POINT | REQ | CU 8 21-25 SHOT/DEPTH POINT INCREMENT | REQ | CU 9 26-30 VELF ID NUMBER FOR DF6 | DF6 | CU 10 31-35 VELF ID INCREMENT | DF8 | CU 11 36-80 NOT USED | | CU ----------- CU DF NOTES CU -- ----- CU 5 THIS CARD DOES NOT WORK IF THE 'DTM' CARD IS INVOKED. CU CU CU EJECT CU====================================================================== CU CU DATA CARD (3) -- DATUM ELEVATION/REPLACEMENT VELOCITY DEFINITION CU CU NO. OF CARDS: REQUIRED = 0 ALLOWED = 1 CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | | CU 3 - 6 NOT USED | | CU 4 - 7 NOT USED | | CU 5 8-10 'DTM' | REQ | CU 6 11-20 DATUM ELEVATION | REQ | CU 7 21-30 REPLACEMENT VELOCITY | REQ | CU 8 31-80 NOT USED | | CU ----------- CU DF NOTES CU -- ----- CU DF6 -> ----------------------------------1- ZMIN (CARD4 DF9) CU | 1 | - CU | 1111 11 | - CU HRZ#1 |111 11111111 1 | - CU | 11111111 1 | - CU | 11111 | - CU | 11111 | SEA LEVEL Z=0 CU HRZ#2 |22222 | + CU | 22222222222222 | + CU | 222222222222222| + CU | | + CU ------------------------------------ ZMAX (CARD4 DF10) CU CU EJECT CU====================================================================== CU CU DATA CARD (4) -- MODEL DEFINITION CARD (VELOCITY MODEL) CU CU NO. OF CARDS: REQUIRED = 0, ALLOWED = 1 CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | | CU 3 - 6 TYPE OF INTERPOLATION | L | CU 'L' = LINEAR | | CU 'S' = CUBIC SPLINE | | CU 4 - 7 NOT USED | | CU 5 8-10 'MOD' | REQ | CU 6 11-15 MAXIMUM NUMBER OF HORIZONS | REQ | CU 7 16-25 MINIMUM X IN LATERAL RANGE | REQ | CU 8 26-35 MAXIMUM X IN LATERAL RANGE | REQ | CU 9 36-45 SMALLEST ALGEBRAIC Z-VALUE IN VERTICAL RANGE | REQ | CU 10 46-55 LARGEST ALGEBRAIC Z-VALUE IN VERTICAL RANGE | REQ | CU 11 56-65 X-VALUE OF THE REFERENCE SHOT/DEPTH POINT(DF13) |NOTE DF11| CU 12 66-70 THE SIGN OF THE SHOT X-COORDINATE INCREASE FROM | +1 | CU DF11 | | CU +1: SAME DIRECTION AS THE MODEL | | CU -1: OPPOSITE DIRECTION AS THE MODEL | | CU 13 71-75 THE REFERENCE SHOT/DEPTH POINT |NOTE DF13| CU 14 76-80 NOT USED | | CU ----------- CU DF NOTES CU -- ----- CU CU 11 THE DEFAULT VALUE IS DF7. CU 13 THE DEFAULT VALUE IS CARD(1)-DF6. CU CU EJECT CU====================================================================== CU CU DATA CARD (5) -- HORIZONTAL DEFINITION CARD (VELOCITY MODEL) CU CU NO. OF CARDS: REQUIRED = 1, ALLOWED = NO LIMIT CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | | CU 3 - 6 NOT USED | | CU 4 - 7 NOT USED | | CU 5 8-10 'HRZ' | REQ | CU 6 11-15 HORIZON NUMBER | REQ | CU 7 16-35 NOT USED | | CU 8 36-45 FIXED VELOCITY ACROSS HORIZON | OPT | CU 9 46-50 ANISOTROPY FACTOR FOR TIME TO DEPTH CONVERSION |NOTE DF9 | CU 10 51-80 NOT USED | | CU ----------- CU DF NOTES CU -- ----- CU 8 IF FIXED VELOCITY ACROSS THE ENTIRE HORIZON IS DEFINED CU ON THIS CARD, ANY VELOCITY DATA IN HORIZON SAMPLE CARDS CU INVOLVING THE HORIZON WILL BE IGNORED. CU CU 9 THIS IS THE RATIO BETWEEN HORIZONTAL AND VERTICAL VELOCITY. CU IF IT IS NECESSARY TO CONVERT THE TIME SECTION IN TO DEPTH WITH CU AN ANISOTROPY, THE VELOCITY FIELD AND THE DEPTH WILL BE MODIFIED CU BY BOTH BEING DIVIDED BY DF9. CU THIS FIELD IS IGNORED FOR DEPTH TO TIME CONVERSION. CU FLOATING POINT IS ALLOWED. CU CU EJECT CU====================================================================== CU CU DATA CARD (6) -- HORIZON SAMPLE CARDS (VELOCITY MODEL) CU CU NO. OF CARDS: REQUIRED = 2, ALLOWED = NO LIMIT CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | | CU 3 - 6 NOT USED | | CU 4 - 7 NOT USED | | CU 5 8-10 'BEG' = FIRST SAMPLE CARD IN A SEGMENT | REQ | CU ' ' = INTERMEDIATE SAMPLE CARD | | CU 'END' = LAST SAMPLE CARD IN A SEGMENT | | CU 6 11-15 HORIZON NUMBER | REQ | CU 7 16-25 LATERAL (X) POSITION | REQ | CU 8 26-35 VERTICAL (Z) POSITION |NOTE DF8 | CU 9 36-45 VELOCITY UNDER HORIZON AT COORDINATE X |NOTE DF8 | CU 10 46-80 NOT USED | | CU ----------- CU CU DF NOTES CU -- ----- CU 5 EACH SUBSURFACE HORIZON IS COMPRISED OF ONE OR MORE LINE CU SEGMENTS. A SEGMENTS IS DELINEATED BY A BEG AND AN END CU SAMPLE CARD. WITHIN EACH LINE SEGMENT, ANY NUMBER OF CU INTERMEDIATE SAMPLE CARDS MAY BE INSERTED. CU CU ALL BEG, INTERMEDIATE AND END SAMPLE CARDS MUST APPEAR CU IN ORDER OF INCREASING LATERAL POSITION (LEFT TO RIGHT). CU CU 8 THE X-Z VALUES OF THIS CARD TYPE ARE USED TO DEFINE THE CU GEOMETRY OF THE SUBSURFACE HORIZON. VELOCITY CAN BE CU DEFINED AS VARYING WITH X POSITION, BUT CAN ONLY VARY IN CU DEPTH IF ADDITIONAL HORIZONS ARE DEFINED. CU CU CU EJECT CU====================================================================== CU CU DATA CARD (7) -- END OF VELOCITY MODEL (VELOCITY MODEL) CU CU NO. OF CARDS: REQUIRED = 1, ALLOWED = 1 CU CU REQ OR OPT CU DF COLS DEFINITION OR DEFAULT CU -- ----- ---------- ----------- CU 1 1- 4 'PRCP' | REQ | CU 2 - 5 PROCESS NUMBER | | CU 3 - 6 NOT USED | | CU 4 - 7 NOT USED | | CU 5 8-10 'EXT' | REQ | CU 6 11-80 NOT USED | | CU ----------- CU DF NOTES CU -- ----- CUEND C======================================================================= C C C FORMAT OF INPUT PARAMETER RECORDS C C C ****** FIRST RECORD, PROCESSING PARAMETERS ************ C C C WORD 1 WORD 2 WORD 3 WORD 4 WORD 5 WORD 6 WORD 7 WORD 8 C |_______|________|_______|_______|_______|_______|_______|_______| C | PRCP | PROCESS| PTS | NOT | NOT | # OF | NOT | NOT | C |_______|_NUMBER_|_______|__USED_|__USED_|_PARMS_|__USED_|__USED_| C C C WORD 9 WORD 10 WORD 11 WORD 12 WORD 13 WORD 14 WORD 15 WORD 16 C |_______|________|_______|_______|_______|_______|_______|_______| C | IXBEG | IXEND | DX | DZ | IZMAX | IOPT | ZDTM | VDTM | C |_______|________|_______|_______|_______|_______|_______|_______| C C C WORD 17 WORD 18 WORD 19 ...............................WORD 104 C |_______|________|_______|...............................|_______| C | NUMH | ZMIN | IPMODE|...............................| NOT | C |_______|________|_______|...............................|__USED_| C C C======================================================================= C C SUBROUTINE SPPRCP C C IMPLICIT INTEGER(A-Z) C C COMMON /P/ STATEMENTS GENERATED BY UTCGI4 11/28/83 C COMMON /P/ STARTP ( 2) , M00000( 2) COMMON /P/ LCINT COMMON /P/ LCTYP , M00020( 6) COMMON /P/ LCTPSP COMMON /P/ LCRL COMMON /P/ LCSI COMMON /P/ LCPI COMMON /P/ LCGRPI COMMON /P/ LCMXFD , M00068( 13) COMMON /P/ ACLNAM ( 5) , M00124( 68) COMMON /P/ KPNA COMMON /P/ KPRNO , M00420( 14) COMMON /P/ KPIUSM COMMON /P/ KPNUSM COMMON /P/ KPTIME COMMON /P/ KPRTF , M00492( 8) COMMON /P/ KPPRNT , M00528( 2) COMMON /P/ KPBUGF , M00540( 226) COMMON /P/ ENDP C C COMMON / SYSTEM / SYSTEM, SYBYPW,SYLOCF C C COMMON COM(1) C C=================================================================== C INTEGER ARRAYS -- LOCAL C=================================================================== C INTEGER DATTR (96) INTEGER DENTRY (104) C C=================================================================== C REAL ARRAYS AND VARIABLE C=================================================================== C REAL DX REAL DZ REAL ZDTM REAL VDTM REAL ZMIN REAL AENTRY (104) C C=================================================================== C EQUIVALENCES C=================================================================== C EQUIVALENCE (AENTRY(1), DENTRY (01)) C C EQUIVALENCE (DCTYP, DENTRY (03)) EQUIVALENCE (NOPAR, DENTRY (06)) EQUIVALENCE (DATTR(1), DENTRY (09)) C C================================================================= C CHARACTER CONSTANTS AND ARRAYS C================================================================= C CHARACTER*80 CARD CHARACTER*4 IOPT DATA DATTR /96 * 0/ C C ====================================================================== C INITIALIZATION C ====================================================================== C DAP = 1 IPR = KPPRNT C C NS = LCRL / LCPI C C ====================================================================== C PRINT HEADING C ====================================================================== C CALL USPHD ( 1, ACLNAM, KPNA, KPRNO, 0, 0, IPR ) C C ====================================================================== C READ INPUT CARD (1) C ====================================================================== C DAC = 1 100 CONTINUE CALL FORC ( KPNA, KPRNO, DAC, CARD, *160 ) C C DETERMINE PROCESSING MODE 03590000 C 03600000 IF (S1CPCH ( CARD,7,'S',1,1 ) .EQ. 0) THEN IPMODE = 1 ELSE IF (S1CPCH ( CARD,7,'D',1,1 ) .EQ. 0) THEN IPMODE = 2 ENDIF C 03580000 IXBEG = S1CVBN ( CARD,11,5 ) IXEND = S1CVBN ( CARD,16,5 ) CALL USCHFT ( CARD, 21, 5, DX ) IZMAX = S1CVBN ( CARD,26,5 ) CALL USCHFT ( CARD, 31, 5, DZ ) C IF (S1CPCH ( CARD,36,' ',1,1 ) .EQ. 0) THEN CALL S1MVCH ( CARD, 37, IOPT, 1, 4 ) ELSE CALL S1MVCH ( CARD, 36, IOPT, 1, 4 ) END IF IF (IOPT .EQ. ' ') IOPT = 'DVEL' IF (IOPT .NE. 'DVEL' .AND. IOPT .NE. 'DCLR' .AND. * IOPT .NE. 'TVEL' .AND. IOPT .NE. 'TCLR' ) GO TO 175 C C IF (IXBEG .EQ. 0) GO TO 180 IF (IXEND .EQ. 0) GO TO 190 IF (DX .EQ. 0.) GO TO 200 IF (DZ .EQ. 0.) GO TO 210 IF (IZMAX .EQ. 0) GO TO 220 C C WRITE ( IPR, 9000 ) IXBEG, IXEND, DX, DZ, IZMAX, IOPT C C C ====================================================================== C READ INPUT CARD 'MOD' C ====================================================================== C DAC = 1 110 CONTINUE CALL FORC ( KPNA, KPRNO, DAC, CARD, *240 ) IF (S1CPCH ( CARD,8,'MOD',1,3 ) .NE. 0) GO TO 110 C C NUMH = S1CVBN ( CARD,11,5 ) CALL USCHFT ( CARD, 36, 10, ZMIN ) C C C ====================================================================== C READ INPUT CARD (2) C ====================================================================== C ZDTM = 0. C C DAC = 1 120 CONTINUE CALL FORC ( KPNA, KPRNO, DAC, CARD, *130 ) IF (S1CPCH ( CARD,8,'DTM',1,3 ) .NE. 0) GO TO 120 C C CALL USCHFT ( CARD, 11, 10, ZDTM ) CALL USCHFT ( CARD, 21, 10, VDTM ) C C IF (VDTM .EQ. 0.) VDTM = 10000. WRITE ( IPR, 9070 ) ZDTM, VDTM C C IF (NINT ( ZMIN ) .NE. NINT ( ZDTM ) ) GO TO 250 C C ====================================================================== C PRINT VELOCITY QC PLOTS C ====================================================================== C 130 CONTINUE C C IZMIN = NINT ( ZMIN ) NZ = FLOAT ( IZMAX-IZMIN ) / DZ + 0.5 IF (NZ .GT. NS) GO TO 170 C C WRITE ( IPR, 9010 ) NS, NZ C C ICOM = KPIUSM CALL SPPRCPA ( COM(ICOM),IXBEG,IXEND,DX,NZ,DZ,NUMH,ZDTM,VDTM,KPNA, 1 KPRNO,KPNUSM,CARD,IABT,IPR ) C C IF (IABT .NE. 0) GO TO 260 C C ====================================================================== C PREPARE 'PTS' RECORD C ====================================================================XX C DENTRY(1) = KPNA DENTRY(2) = KPRNO C C CALL S1MVCH ( 'PTS', 1, DCTYP, 1, 3 ) C C CALL ARSET ( DATTR, 96, 0 ) C C**** SET NO. OF PARAMETERS ON THIS RECORD C NOPAR = 11 C C DATTR(1) = IXBEG DATTR(2) = IXEND AENTRY(11) = DX AENTRY(12) = DZ DATTR(5) = IZMAX CCLJ DATTR(6) = IOPT CALL S1MVCH ( IOPT, 1, DATTR(6), 1 ,4 ) DATTR(7) = ZDTM DATTR(8) = VDTM DATTR(9) = NUMH DATTR(10) = ZMIN DATTR(11) = IPMODE C C CALL FOWP ( KPNA, KPRNO, DAP, 104, DENTRY, *230 ) NOREC = 1 C C ===================================================================== C NORMAL TERMINATION C ===================================================================== C C C IF (KPBUGF .NE. 0) THEN DAP = 1 140 CONTINUE CALL FORP ( KPNA, KPRNO, DAP, 104, DENTRY, *150 ) WRITE ( IPR, 9100 ) DENTRY GO TO 140 150 CONTINUE ENDIF C C WRITE ( IPR, 9110 ) KPNA, KPRNO, NOREC C C RETURN C C ===================================================================== C ERROR EXITS C ===================================================================== C 160 CONTINUE WRITE ( IPR, 9020 ) KPNA, KPRNO GO TO 270 C C 170 CONTINUE WRITE ( IPR, 9030 ) NZ, NS GO TO 270 C C 175 CONTINUE WRITE ( IPR, 9175 ) IOPT GO TO 270 C C 180 CONTINUE WRITE ( IPR, 9040 ) GO TO 270 C C 190 CONTINUE WRITE ( IPR, 9050 ) GO TO 270 C C 200 CONTINUE WRITE ( IPR, 9060 ) GO TO 270 C C 210 CONTINUE WRITE ( IPR, 9080 ) GO TO 270 C C 220 CONTINUE WRITE ( IPR, 9090 ) GO TO 270 C C 230 CONTINUE WRITE ( IPR, 9120 ) GO TO 270 C C 240 CONTINUE WRITE ( IPR, 9130 ) GO TO 270 C C 250 CONTINUE WRITE ( IPR, 9140 ) ZMIN, ZDTM GO TO 270 C C 260 CONTINUE WRITE ( IPR, 9150 ) C C 270 CONTINUE KPRTF = -1 C C RETURN C C ================================================================= C FORMAT STATEMENTS C ================================================================= C C C 9000 FORMAT(/,' STARTING DEPTH POINT IXBEG =',I5, 1 /,' ENDING DEPTH POINT IXEND =',I5, 2 /,' DEPTH POINT SPACING DX =',F10.3, 3 /,' DEPTH (Z) STEP SIZE (FT) DZ =',F10.3, 4 /,' MAXIMUM DEPTH TO BE MIGRATED IZMAX =',I5, 5 /,' OUTPUT OPTION IOPT =',A4) C C 9010 FORMAT(/,' NO. OF SAMPLES OF THE TRACE NS =', I5,/, 1 ' NO. OF DEPTH STEPS NZ =', I5 ) C C 9020 FORMAT(/,' *** NO CARD(1) FOUND FOR ',A4,I1) C C 9030 FORMAT(/,' *** INPUT TRACE DOES NOT HAVE ENOUGH SAMPLES TO ACCEPT' 1 /,' OUTPUT TRACE: NZ (=',I4,') > NS (=',I4,')', 2 /,' *** JOB ABORTED ***') C C 9040 FORMAT(/,' STARTING DEPTHPOINT MISSING; IT IS REQUIRED') C C 9050 FORMAT(/,' ENDING DEPTHPOINT MISSING; IT IS REQUIRED') C C 9060 FORMAT(/,' TRACE SPACING MISSING; IT IS REQUIRED') C C 9070 FORMAT(/,' ZDTM,VDTM =',2E12.5) C C 9080 FORMAT(/,' Z (DEPTH) STEP SIZE MISSING; IT IS REQUIRED') C C 9090 FORMAT(/,' MAXIMUM DEPTH MISSING; IT IS REQUIRED') C C 9100 FORMAT (1X,A4,I1,5X,A4,3I5,1X,I5,I5,/,4(1X,24I5,/)) C C 9110 FORMAT (//,' *** ',A4,I1,' COMPLETED -- NO ERRORS,', 1 /,' *** TOTAL NUMBER OF PARAMETER RECORDS = ',I5) C C 9120 FORMAT (/,' *** ERROR WRITING PARAMETER RECORD ***') C C 9130 FORMAT(/,' *** NO CARD(2) FOUND FOR ',A4,I1) C C 9140 FORMAT (/,' *** ERROR *** ZMIN .NE. ZDTM ', 1 /,' ZMIN,ZDTM =',2E12.5, 2 /,' *** JOB ABORTED ***') C C 9150 FORMAT (/,' *** ERROR IN SPPRCPA ROUTINE ***') C C 9175 FORMAT(/,' THE SUPPLIED VALUE, (',A4,'), IN DF 11 ON DATA', * ' CARD 1 IS INCORRECT.', * /,' THE OUTPUT TYPE MUST BE ONE OF THE FOLLOWING: ', * /,' DVEL DCLR TVEL TCLR',/) C C END