1 SUBROUTINE spline(x,y,n,yp1,ypn,y2)
2 USE stel_kinds,
ONLY: dp
8 REAL(dp) :: yp1,ypn,x(n),y(n),y2(n)
21 REAL(dp) :: p,qn,sig,un,u(n)
23 IF (yp1.gt..99e30_dp)
THEN
26 ELSE IF (yp1.lt.-0.99e30_dp)
THEN
30 u(1)=(3.0_dp/(x(2)-x(1)))*((y(2)-y(1))/(x(2)-x(1))-yp1)
36 sig=(x(i)-x(i-1))/(x(i+1)-x(i-1))
39 u(i)=(6*((y(i+1)-y(i))/(x(i+1)-x(i))-(y(i)-y(i-1))
40 1 /(x(i)-x(i-1)))/(x(i+1)-x(i-1))-sig*u(i-1))/p
42 IF (ypn.gt..99e30_dp)
THEN
45 ELSE IF (ypn.lt.-0.99e30_dp)
THEN
49 un=(3._dp/(x(n)-x(n-1)))*(ypn-(y(n)-y(n-1))/(x(n)-x(n-1)))
51 y2(n)=(un-qn*u(n-1))/(qn*y2(n-1)+1)
53 y2(k)=y2(k)*y2(k+1)+u(k)