C HEADER SAGHST 00000001 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CTITLESAGHST -- GHOST CALCULATION FOR MARINE SIGNATURES 00000010 CA 00000020 CA AUTHOR D. NYMAN 00000030 CA DESIGNER D. NYMAN 00000040 CA LANGUAGE S/370 FORTRAN H 00000050 CA WRITTEN 01/26/79 00000060 C REVISED 03/14/80 FOR PRODUCTION 00000070 CA 00000080 CA 00000090 CA 00000100 CA CALL SAGHST (WI, NWI, SMPINT, DPTHSW, DPTHRW, DISTSR, DPTHSL, 00000110 CA RMSSDV, DPTHRL, RMSRDV, RCOEF, VW, Z, MAG, IER) 00000120 CA 00000130 CA INPUT WI = RECORDED SIGNATURE ARRAY R4 00000140 CA NWI = NUMBER OF ELEMENTS IN WI I4 00000150 CA SMPINT = SAMPLING INTERVAL IN MS I4 00000160 CA DPTHSW = SOURCE DEPTH TO RECORD SIGNATURE (FT) R4 00000170 CA DPTHRW = RECEIVER DEPTH TO RECORD SIGNATURE (FT) R4 00000180 CA DISTSR = HORIZONTAL SOURCE-RECEIVER SEPARATION (FT) R4 00000190 CA DPTHSL = SOURCE DEPTH TO RECORD LINE R4 00000200 CA RMSSDV = RMS SOURCE DEPTH VARIATION (FT) R4 00000210 CA DPTHRL = RECEIVER DEPTH TO RECORD LINE R4 00000220 CA RMSRDV = RMS RECEIVER DEPTH VARIATION R4 00000230 CA RCOEF = SURFACE REFLECTION COEFFICIENT R4 00000240 CA VW = SEISMIC VELOCITY OF WATER (FT/SEC) R4 00000250 CA Z = WORK ARRAY OF LENGTH 2**MAG + 2 -- MUST BE R4 00000260 CA AT LEAST TWICE THE OUTPUT SIGNATURE LENGTH 00000270 CA MAG = FOURIER TRANSFORM MAGNITUDE I4 00000280 CA 00000290 CA OUTPUT WI = SIGNATURE WITH GHOSTS R4 00000300 CA NWI = NUMBER OF ELEMENTS IN WI I4 00000310 CA IER = 0: NO ERRORS I4 00000320 CA 1: INPUT PARAMETER ERROR 00000330 CA 2: F.T. SIN/COS TABLE INADEQUATE 00000340 CA 3: WORK ARRAY AND F.T. LENGTH TOO SHORT 00000350 CA 00000360 CA 00000370 CA THIS ROUTINE TRANSFORMS A RECORDED MARINE SIGNATURE INTO A 00000380 CA SEISMIC WAVELET. IF DPTHSW IS NON-ZERO, THE NEAR-FIELD TO 00000390 CA FAR-FIELD TRANSFORMATION IS PERFORMED, FOR WHICH DPTHRW AND 00000400 CA DPTHSL MUST BE NON-ZERO. IF DPTHSW IS ZERO, DPTHRW, DISTSR, 00000410 CA DPTHSL AND RMSSDV ARE NOT USED. DPTHRL, RCOEF, AND VW MUST 00000420 CA BE NON-ZERO. IF THE SOURCE DEPTH TO RECORD THE LINE IS 00000430 CA DIFFERENT FROM THAT TO RECORD THE SIGNATURE, THE NEAR-FIELD 00000440 CA TO FAR-FIELD TRANSFORMATION SHOULD BE USED EVEN FOR FAR-FIELD 00000450 CA SIGNATURES. THE SOURCE AND RECEIVERS ARE ASSUMED TO VARY 00000460 CA ABOUT THEIR MEAN VALUES ACCORDING TO A GAUSSIAN PROBABILITY 00000470 CA DISTRIBUTION. THE RMS VARIATIONS MAY BE ZERO. 00000480 C 00000490 C=======================================================================00000500 C EJECT 00000510 C=======================================================================00000520 C 00000530 C CONSTANTS AND VARIABLES -- LOCAL 00000540 C 00000550 C DELAY = TOTAL DELAY INTRODUCED BY GHOSTS R4 00000560 C DLAY = DELAY OF EACH GHOST R4 00000570 C DRCT = DISTANCE TRAVELED BY DIRECT NEAR-FIELD ARRIVAL R4 00000580 C DW = FOURIER TRANSFORM FREQUENCY INCREMENT R4 00000590 C DWX = DW * RMS DELAY TIME VARIATION / SQRT(2) R4 00000600 C GHST = DISTANCE TRAVELED BY GHOST NEAR-FIELD ARRIVAL R4 00000610 C LENGTH = FOURIER TRANSFORM LENGTH: 2**MAG I4 00000620 C U, X = AMPLITUDE * EXP( - I * 2 * PI * F * GHOST DELAY ) C8 00000630 C V, Y = INCREMENT IN U AND X BETWEEN EACH F.T. VALUE C8 00000640 C 00000650 C=======================================================================00000660 C 00000670 C METHOD AND APPROACH 00000680 C 00000690 C NEAR-FIELD TO FAR-FIELD 00000700 C 00000710 C THIS OPERATION CONVERTS THE ACTUAL RECORDED SIGNATURE INTO 00000720 C THE SIGNATURE WHICH WOULD BE RECORDED VERY FAR FROM THE 00000730 C SOURCE AND DIRECTLY BELOW IT, NEGLECTING ATTENUATION. 00000740 C THE SIGNATURE IS ALSO MADE TO CORRESPOND TO SOURCE DEPTH 00000750 C DPTHSL. THIS OPERATION CAN BE CONSIDERED TO BE A TWO STEP 00000760 C PROCESS: FIRST THE NEAR-FIELD SOURCE GHOST IS REMOVED FROM 00000770 C THE RECORDED SIGNATURE, THEN THE FAR-FIELD SOURCE GHOST IS 00000780 C INCLUDED. NO ACCOUNT IS TAKEN OF THE SIZE OR SHAPE OF THE 00000790 C SOURCE ARRAY. 00000800 C 00000810 C THE AMPLITUDE OF A SPHERICAL WAVE-FRONT DECAYS AS THE INVERSE 00000820 C RADIUS. THE RELATIVE AMPLITUDE OF THE NEAR-FIELD SOURCE GHOST 00000830 C IS THEN THE PRODUCT OF THE SURFACE REFLECTION COEFFICIENT AND 00000840 C THE RATIO OF THE DISTANCE TRAVELED BY THE PRIMARY TO THAT OF 00000850 C THE GHOST. THE DELAY OF THE GHOST IS THE DIFFERENCE IN DISTANCE 00000860 C DIVIDED BY THE WATER VELOCITY. IN THE FREQUENCY DOMAIN THE 00000870 C NEAR-FIELD SOURCE GHOST OPERATOR IS 00000880 C 00000890 C SN(F) = 1 - AN * EXP( -I*2*PI*F*TN ) 00000900 C WHERE 00000910 C AN = RCOEF * DIST(PRIMARY) / DIST(GHOST) 00000920 C TN = (DIST(GHOST) - DIST(PRIMARY)) / VW. 00000930 C 00000940 C THE FAR-FIELD SOURCE GHOST OPERATOR IS 00000950 C 00000960 C SF(F) = 1 - RCOEF * EXP( -I*2*PI*F*TF ) 00000970 C WHERE 00000980 C TF = 2 * DPTHSL / VW. 00000990 C 00001000 C AVERAGING SF(F) OVER THE DISTRIBUTION OF SOURCE DEPTHS YIELDS 00001010 C 00001020 C SF(F) = 1 - RCOEF * EXP( -I*2*PI*F*TF - G*F**2 ) 00001030 C WHERE 00001040 C G = 8 * (PI * RMSSDV / VW)**2. 00001050 C 00001060 C THE NEAR-FIELD TO FAR-FIELD TRANSFORMATION IS THEN 00001070 C 00001080 C SF(F) / SN(F). 00001090 C 00001100 C 00001110 C FAR-FIELD TO SEISMIC WAVELET 00001120 C 00001130 C THIS OPERATION SIMPLY INCLUDES A RECEIVER GHOST OF AMPLITUDE 00001140 C RCOEF AND DELAY 2*DPTHRL/VW. IN THE FREQUENCY DOMAIN THE 00001150 C RECEIVER GHOST OPERATOR IS 00001160 C 00001170 C RG(F) = 1 - RCOEF * EXP( -I*2*PI*F*TR ) 00001180 C WHERE 00001190 C TR = 2 * DPTHRL / VW. 00001200 C 00001210 C AVERAGING RG(F) OVER THE DISTRIBUTION OF RECEIVER DEPTHS YIELDS 00001220 C 00001230 C RG(F) = 1 - RCOEF * EXP( -I*2*PI*F*TR - G*F**2 ) 00001240 C WHERE 00001250 C G = 8 * (PI * RMSRDV / VW)**2. 00001260 C 00001270 C=======================================================================00001280 C EJECT 00001290 C 00001300 SUBROUTINE SAGHST 00001310 * (WI, NWI, SMPINT, DPTHSW, DPTHRW, DISTSR, DPTHSL, 00001320 * RMSSDV, DPTHRL, RMSRDV, RCOEF, VW, Z, MAG, IER) 00001330 C 00001340 COMPLEX U,V,X,Y,Z 00001350 INTEGER SMPINT 00001360 DIMENSION WI(1),Z(1) 00001370 C 00001380 LENGTH = 2**MAG 00001390 DW = 6.2831853 / (LENGTH * SMPINT * .001) 00001400 NY = LENGTH / 2 + 1 00001410 C 00001420 C FOURIER TRANSFORM INPUT WAVELET 00001430 C 00001440 CALL ARSET (Z, LENGTH, 0.0) 00001450 CALL ARMVE (WI, Z, NWI) 00001460 CALL S2DFT2 (MAG, Z, & 920 ) 00001470 C 00001480 DELAY=0. 00001490 IF (DPTHSW .LE. 0) GO TO 20 00001500 IF (DPTHRW .LE. 0 .OR. DPTHSL .LE. 0) GO TO 910 00001510 C 00001520 C WI IS NEAR-FIELD SIGNATURE 00001530 C CONVERT TO FAR-FIELD SIGNATURE 00001540 C 00001550 DRCT = SQRT( (DPTHRW-DPTHSW)**2 + DISTSR**2 ) 00001560 GHST = SQRT( (DPTHRW+DPTHSW)**2 + DISTSR**2 ) 00001570 DLAY = (GHST - DRCT) / VW 00001580 U = RCOEF * DRCT / GHST 00001590 V = CMPLX( COS(DW*DLAY), -SIN(DW*DLAY) ) 00001600 DLAY = 2.0 * DPTHSL / VW 00001610 DELAY= DLAY 00001620 X = RCOEF 00001630 Y = CMPLX( COS(DW*DLAY), -SIN(DW*DLAY) ) 00001640 W = 0.0 00001650 DWX = 1.414214 * DW * RMSSDV / VW 00001660 C 00001670 DO 10 I = 1 , NY 00001680 Z(I) = Z(I) *(1.0 - X * EXP(-W*W)) / (1.0 - U) 00001690 U = U * V 00001700 X = X * Y 00001710 10 W = W + DWX 00001720 C 00001730 C ADD RECEIVER GHOST TO FAR FIELD SIGNATURE 00001740 C 00001750 20 IF (DPTHRL .LE. 0.0 .OR. RCOEF .LE. 0.0 .OR. 00001760 * RCOEF .GT. 1.0 .OR. VW .LE. 0.0) GO TO 910 00001770 DLAY = 2.0 * DPTHRL / VW 00001780 DELAY= DELAY + DLAY 00001790 X = RCOEF 00001800 Y = CMPLX( COS(DLAY*DW), -SIN(DLAY*DW) ) 00001810 W = 0.0 00001820 DWX = 1.414214 * DW * RMSRDV / VW 00001830 C 00001840 DO 30 I = 1 , NY 00001850 Z(I) = Z(I) * (1.0 - X * EXP(-W*W)) 00001860 X = X * Y 00001870 30 W = W + DWX 00001880 C 00001890 Z(NY) = REAL(Z(NY)) 00001900 C 00001910 C INVERSE FOURIER TRANSFORM AND 00001920 C MOVE WAVELET TO WI ARRAY 00001930 C 00001940 CALL S2DFI2 (MAG, Z, & 920 ) 00001950 NWI = INT( 1000. * DELAY / SMPINT + 1.0) + NWI 00001960 IF (NWI .GT. LENGTH/2) GO TO 930 00001970 CALL ARMVE (Z, WI, NWI) 00001980 IER = 0 00001990 GO TO 1000 00002000 C 00002010 C INVALID INPUT PARAMETERS 00002020 C 00002030 910 IER = 1 00002040 GO TO 1000 00002050 C 00002060 C FOURIER TRANSFORM SIN-COS TABLE INADEQUATE 00002070 C 00002080 920 IER = 2 00002090 GO TO 1000 00002100 C 00002110 C WORK ARRAY AND FOURIER TRANSFORM LENGTH TOO SHORT 00002120 C 00002130 930 IER = 3 00002140 C 00002150 1000 RETURN 00002160 C 00002170 END 00002180