SUBROUTINE GINT(DELX,M,XBGN,XENO,ICT,X,Y,AX,AY) 

 C MODIFICATION OF ORIGIONAL GINT SO THAT INPUT DATA IS NOT DESTROYED 

 C GENERAL 1-0 SPLINE INTERPOLATION FOR MIN. STORAGE 

 C INTERPOLATES OVER 50 INPUT PTS WITH OVERLAP 



C DELX=DESIRED INTERPOLATION INTERVAL, X AND Y ARE INPUT WITH X=INDEP. 

 C VARIABLE, AX AND AY ARE OUTPUT, M=LENGTH OF X, XBGN AND XEND=DESIRED 

 C BEGINNING AND ENDING VALUES OF AX,ICT=LENGTH OF AX 

 C***NOTE IF M MOD 50 IS LESS THAN 2 INTERPOLATED OUTPUT MAY STOP SHORT 

 C OF XEND 

 C THIS ROUTINE REQUIRES SPLINE AND SPLICO SUBROUTINES 



DIMENSION X(1),Y(1),AX(1),AY(1) 



ICT=(ABS(XEND-XBGN )/DELX )+1.0 



ISECT=M/50 



IA=ISECT*50 



IC=0 



JJ=0 



MM=49 



IF(IA.EQ.O) MM=M 



IF((M-IA).GE.2) JJ=1 

 C OVERLAP INTERPOLATION INTERVALS BY 2 INPUT PTS SO SPLINE ROUTINE 

 C IS DIMENSIONED TO MAX OF 53 PTS 



JC0NT=1 



KA=1 



KC=MM+1 



IF(IA.EQ.O) KC=KC-1 



K=l 

 53 IKT= (ABS(X(MM)-XBGN)/DELX)+1.0 



IF(MM.EQ.M) IKT=ICT 



ATER=9999.999 



DO 26 I=KA,IKT 



AJ=I-1 



XINT=AJ*DELX+XBGN 



IF(XINT.GT.XEND) GO TO 58 



CALL SPLINE (X(K),Y(K),KC,XINT,YINT,ATER) 



AX(I)=XINT 

 26 AY(I)=YINT 



JC0NT=JC0NT+1 



IF(IA.EQ.O) GO TO 56 



IF(JCONT.GT.ISECT) GO TO 55 



JC=JC0NT*50 



57 IMM=MM-1 

 K=IMM 

 MM=MM+50 

 IF(IC.EQ.l) MM=M 

 KA=IKT+1 

 KC=0C-IMM+1 



GO TO 53 

 55 IF(JJ.LT.l) GO TO 56 

 IC=1 

 JJ=0 

 JC=M 

 GO TO 57 



58 ICT=I-1 



165 



