CTITLEMTRPL1 -- PARAMETER INTERPLOATION 00000100 C*********************************************************************** C COPYRIGHT ATLANTIC RICHFIELD COMPANY 1991 * C*********************************************************************** CA AUTHOR L. B. LIN 00000200 CA DESIGNER DENNIS CORRIGAN 00000300 CA LANGUAGE FORTRAN 00000400 CA SYSTEM IBM AND CRAY 00000500 CA WRITTEN 03-15-83 00000600 C REVISED 00000700 C 00000800 CA 00000900 CA 00001000 CA CALL MTRPL1 (N, REC, STM, R, S) 00001100 CA INPUT N = NUMBER OF CONTROL POINTS I4 00001200 CA INPUT REC = RECORD NUMBERS AT CONTROL POINTS R4 00001300 CA INPUT STM = PARAMETER VALUES AT CONTROL POINTS R4 00001400 CA INPUT R = RECORD NUMBER FOR WHICH THE VALUE IS 00001500 CA DESIRED R4 00001600 CA OUTPUT S = OUTPUT INTERPOLATED PARAMETER R4 00001700 CA 00001800 CA 00001900 CA THIS ROUTINE PERFORMS A PARAMETER INTERPOLATION. 00002000 CAEND 00002100 C EJECT 00002200 SUBROUTINE MTRPL1 (N, REC, STM, R, S) 00002300 C 00002400 DIMENSION REC(1), STM(1) 00002500 C 00002600 I = 1 00002700 IF (R .GT. REC(I)) GO TO 20 00002800 10 S = STM(I) 00002900 RETURN 00003000 C 00003100 20 I = N 00003200 IF (R .GE. REC(I)) GO TO 10 00003300 C 00003400 C MUST INTERPOLATE 00003500 C 00003600 N2C = N - 1 00003700 C 00003800 DO 30 I = 1,N2C 00003900 C 00004000 IF (R .GT. REC(I+1)) GO TO 30 00004100 GO TO 40 00004200 30 CONTINUE 00004300 C 00004400 40 D = REC(I+1) - REC(I) 00004500 S = STM(I+1)*(R-REC(I)) + STM(I)*(REC(I+1)-R) 00004600 S = S/D 00004700 RETURN 00004800 END 00004900