1Module radin_mod 2 INTEGER, PARAMETER :: DP = selected_real_kind(14,200) 3Contains 4 Subroutine SPLIFT (X,Y,YP,YPP,N,IERR,ISX,A1,B1,AN,BN) 5 Integer, Intent(in) :: N,ISX 6 Real(dp), Intent(in) :: X(N),Y(N),A1,B1,AN,BN 7 Real(dp), Intent(out) :: YP(N),YPP(N) 8 Real(dp), Allocatable, Dimension(:,:) :: W 9 NM1 = N-1 10 NM2 = N-2 11 If (ISX.Gt.0) GO TO 40 12 Do I=2,N 13 If (X(I)-X(I-1) .Le. 0) Then 14 IERR = 3 15 Return 16 Endif 17 End Do 18 Allocate(W(N,3)) 1940 YPP(1) = 4*B1 20 DOLD = (Y(2)-Y(1))/W(2,2) 21 Do I=2,NM2 22 DNEW = (Y(I+1) - Y(I))/W(I+1,2) 23 YPP(I) = 6*(DNEW - DOLD) 24 YP(I) = DOLD 25 DOLD = DNEW 26 End Do 27 Return 28 End Subroutine SPLIFT 29End Module radin_mod 30 31