CTITLESAVCF3 -- PERFORM FOUR-POINT CENTERED INTERPOLATION FOR VELOCITY C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR BRUCE VER WEST CA DESIGNER BRUCE VER WEST CA LANGUAGE VS FORTRAN CA SYSTEM CRAY CA WRITTEN 07/01/86 C REVISED MM-DD-YY 00070009 C 00080009 C 00080009 CA SUBROUTINE SAVCF3(OTR,INDX,P,VEL,NT,PCT,VMIN,DV,NV,IFLIN,IPR) CA CA THIS SUBROUTINE ACTUALLY PERFORMS THE FOUR-POINT CENTERED INTER- CA POLATION OVER THE FOUR FK-MIGRATIONS FOR THIS DEPTH POINT AT THE CA FOUR VELOCITIES WHICH CENTER THE ACTUAL VELOCITY DESIRED. IT IS CA PERFORMED ON A SAMPLE BY SAMPLE BASIS. THE INTERPOLATED RESULT CA IS OUTPUT AS THE FK-MIGRATED DEPTH POINT AT THE DESIRED VELOCITY. CA CA********************************************************************** CA CA ARGUMENTS: CA CA OTR OUTPUT THE OUTPUT TIME TRACE WHICH CONTAINS CA THE FOUR-POINT INTERPOLATED RESULT CA FOR THIS DEPTH POINT. CA CA INDX INPUT THIS IS THE INDEX ARRAY WHICH HOLDS CA FIRST VELOCITY POSITION FOR WHICH CA THE FK-MIGRATION EXISTS AS A FUNCTION CA OF TIME TO SERVE IN THE INTERPOLATION. CA THIS VALUE WILL CHANGE WITH TIME CA SAMPLE CA CA P INPUT TWO DIMENSIONAL ARRAY OF LENGTH 4 CA IN THE FIRST DIMENSION AND NT IS THE CA SECOND DIMENSION WHICH HOLDS THE CA FOUR FK-MIGRATED TRACES FOR THE CUR- CA RENT DEPTH POINT AT THE FOUR VELOCI- CA TIES WHICH CENTER THE VELOCITY DESIRED CA CA VEL INPUT THIS IS THE INPUT VELOCITY ARRAY CA FROM THE 'VEL' DATA CARDS FOR WHICH CA FK-MIGRATED SECTION IS DESIRED. IT CA IS OBTAINED FROM 'VELF' DATA CARDS CA CA NT INPUT THE NUMBER OF TIME SAMPLES IN THE CA DEPTH POINT TRACE CA CA PCT INPUT THE PERCENTAGE OF THE 'VELF' VELOCITY CA TO BE USED FOR OBTAINING THE MIGRATED CA SECTION AT THIS DEPTH POINT CA CA VMIN INPUT THIS IS THE MINIMUM VELOCITY FOR CA WHICH THE FK-MIGRATION HAS BEEN CA PERFORMED CA CA DV INPUT THIS IS THE VELOCITY INCREMENT VALUE CA USED IN THE FK-MIGRATION CA CA NV INPUT THE NUMBER OF VELOCITIES FROM THE CA FK-MIGRATION 'MPFK' THAT ARE TO BE CA USED CA CA IFLIN INPUT INPUT INTEGER FLAG WHICH SIGNALS CA THE KIND OF VELOCITY INCREMENT USED CA BY THE PROCESS 'MPFK'. A VALUE OF ZERO CA INDICATES THAT A FIXED INCREMENT WAS CA USED BY 'MPFK'; A VALUE OF UNITY IN- CA DICATES THAT A PERCENTAGE IS USED FOR CA THE VELOCITY INCREMENT BY 'MPFK' CA CA IPR INPUT SPARC LOGICAL PRINT UNIT CA CA********************************************************************** C SUBROUTINE SAVCF3(OTR,INDX,P,VEL,NT,PCT,VMIN,DV,NV,IFLIN,IPR) C DIMENSION OTR(1),INDX(1),P(4,1) DIMENSION VEL(1) INTEGER YES,NO DATA YES,NO / 0,1 / C C IF A PERCENTAGE VELOCITY INCREMENT IS USED THEN ENTER THIS BRANCH C IF (IFLIN .EQ. NO) THEN DO 100 IT=1,NT IV=INDX(IT) R1 = ALOG(VEL(IT)*PCT)-(VMIN+(IV-1)*DV) R2 = R1-DV R3 = R2-DV R4 = R3-DV RN1 = R2*R3*R4 RN2 = R1*R3*R4 RN3 = R1*R2*R4 RN4 = R1*R2*R3 OTR(IT)=(-RN1*P(1,IT) + 3.0*RN2*P(2,IT) - 3.0*RN3*P(3,IT) * +RN4*P(4,IT))/(6.0*DV**3) 100 CONTINUE ELSE C C IF A FIXED VELOCITY INCREMENT IS USED BY 'MPFK' ENTER THIS BRANCH C DO 110 IT=1,NT IV=INDX(IT) R1 = VEL(IT)*PCT-(VMIN+(IV-1)*DV) R2 = R1-DV R3 = R2-DV R4 = R3-DV RN1 = R2*R3*R4 RN2 = R1*R3*R4 RN3 = R1*R2*R4 RN4 = R1*R2*R3 OTR(IT)=(-RN1*P(1,IT) + 3.0*RN2*P(2,IT) - 3.0*RN3*P(3,IT) * +RN4*P(4,IT))/(6.0*DV**3) 110 CONTINUE ENDIF C RETURN END