c linear interpolation of y(x) in x=x0 FUNCTION rlin(x0,x,y,n,i0) INTEGER n,i0,i,i1 REAL x(n),y(n),x0 c IF (x0.eq.x(1)) THEN i0=1 rlin=y(1) GO TO 21 END IF i1=MAX(i0,1) DO i=i1,n-1 IF (x0.eq.x(i+1)) THEN i0=i rlin=y(i) GO TO 21 END IF IF (x(i).le.x0.and.x0.lt.x(i+1)) THEN !increasing i0=i GO TO 20 END IF IF (x(i+1).le.x0.and.x0.lt.x(i)) THEN !decreasing i0=i GO TO 20 END IF END DO 20 IF (i0.eq.0) THEN rlin=0. ELSE rlin=y(i0)+(y(i0+1)-y(i0))*(x0-x(i0))/(x(i0+1)-x(i0)) END IF 21 RETURN END