subroutine interp1(X_line,Y_line,X,Y) ! just 1D linear interpolation. ! It is reasonable, if the method of interpolation in accordance with interpolate ! OR alternatively this function serve as probe for PT arguments use mod_numres implicit none real*8, dimension(:), intent(in) :: X_line,Y_line real*8, intent(in) :: X real*8, intent(out) :: Y real*8 tx2 integer np, ix np=SIZE(X_line); ix = locate(X_line,X) ! there function for index search in arbitraty array ix=max(ix,1); ix=min(ix,np-1) tx2=(X-X_line(ix))/(X_line(ix+1)-X_line(ix)) Y=(1-tx2)*Y_line(ix)+tx2*Y_line(ix+1) return end subroutine interp1