CTITLEMSTRT -- COMPUTES INITIAL RC ESTIMATE 00000010 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR D. D. THOMPSON 00000020 CA DESIGNER D. D. THOMPSON 00000030 CA LANGUAGE FORTRAN 77 00000040 CA SYSTEM IBM & CRAY 00000041 CA WRITTEN 1972 00000050 C REVISED MO-DA-YR 00000060 C REVISED 05-20-85 TWH. ADAPTED TO RUN ON IBM & 00000061 C CRAY SYSTEMS. 00000062 C 00000070 CA 00000080 CA 00000090 CA CALL MSTRT (Z, X, XX, KR, KW, KX, KEY, G, GT, XQ, V) 00000100 CA IN/OUT Z = REFLECTION COEFFICIENT ESTIMATES IN R4 00000110 CA FIRST KR LOCATIONS. Z(KR+1) . . . 00000120 CA Z(KR+KW) IS INPUT WAVELET 00000130 CA INPUT X = TRACE SEGMENT R4 00000140 CA XX = WORK ARRAY LWNGTH KX R4 00000150 CA INPUT KR = NUMBER OF RC'S I4 00000160 CA INPUT KW = NUMBER OF WAVELET SAMPLES I4 00000170 CA INPUT KX = NUMBER OF TRACE SAMPLES I4 00000180 CA KEY = NOT USED 00000190 CA G = WORK ARRAY LENGTH KR + KW R4 00000200 CA GT = WORK ARRAY " KR + KW R4 00000210 CA XQ = WORK ARRAY " KX R4 00000220 CA V = WORK ARRAY " KR + KW R4 00000230 CA 00000240 CA 00000250 CA THIS ROUTINE COMPUTES A STARTING ESTIMATE OF 00000260 CA RC'S GIVEN AN INITIAL WAVELET ESTIMATE. THE RC 00000270 CA ESTIMATE IS AT TWICE THE SAMPLE PERIOD OF THE 00000280 CA TRACE DATA. 00000290 CA 00000300 C 00000310 C SUBROUTINES CALLED: MLEAN 00000320 C MNRML 00000330 C MERXX 00000340 C MGRAD 00000350 C 00000360 SUBROUTINE MSTRT(Z,X,XX,KR,KW,KX,KEY,G,GT,XQ,V) 00000370 CAEND 00000380 C 00000390 DIMENSION Z(1),X(1),XX( 1),G(1),GT(1), XQ(1), V(1) 00000400 N=5 00000410 NP1=N+1 00000420 C 00000430 DO 10 00000440 * I=1,KR 00000450 C 00000460 10 Z(I)=0. 00000470 C 00000480 DO 20 00000490 * J=1,KW 00000500 C 00000510 20 G(J+KR)=Z(J+KR) 00000520 C 00000530 DO 60 00000540 * I=1,NP1 00000550 CALL MNRML(Z,KR,KW,KX,V,1) 00000560 CALL MERXX(E,XX,X,Z,KR,KW,KX,1) 00000570 CALL MGRAD(X,XX,V,Z,G,KR,KW,KX,1) 00000580 C 00000590 DO 30 00000600 * J=1,KR 00000610 C 00000620 30 G(J)=G(J)*V(J) 00000630 C 00000640 IF(I.NE.NP1) CALL MLEAN(G,KR) 00000650 CALL MERXX(E,XQ, X,G,KR,KW,KX,1) 00000660 A=0. 00000670 B=0. 00000680 C 00000690 DO 40 00000700 * J=1,KX 00000710 A=A+(XX(J)-X(J))*XQ(J) 00000720 C 00000730 40 B=B+XQ(J)*XQ(J) 00000740 C 00000750 IF (B .EQ. 0.) GO TO 70 00000760 A=A/B 00000770 C 00000780 DO 50 00000790 * J=1,KR 00000800 C 00000810 50 Z(J)=Z(J)-A*G(J) 00000820 C 00000830 60 CONTINUE 00000840 C 00000850 70 RETURN 00000860 END 00000870