Perform the integration of a function f defined on
    the grid s of size ns assuming not-a-knot boundary condirions.
    The result, aifi, is an array whose elements aifi(i) are the
    integral from node 1 to node i, on the target mesh si of size nsi.
    A. Pletzer Oct 10 2000
integer, parameter :: r8=selected_real_kind(12,100)
integer, intent(in) :: ns
real(r8), intent(in) :: s(ns)
real(r8), intent(in) :: f(ns)
integer, intent(in) :: nsi
real(r8), intent(in) :: si(nsi)
real(r8), intent(out) :: aifi(nsi)
    Perform the integration of a periodic function f defined
    over the grid t of size nt1: f(nt1)=f(1). The result, aifi, is an
    array whose elements aifi(i) are the integral from node 1 to
    node i, on the target mesh ti of size nti1.
    A. Pletzer Oct 10 2000
integer, parameter :: r8=selected_real_kind(12,100)
integer, intent(in) :: nt1
real(r8), intent(in) :: t(nt1)
real(r8), intent(in) :: f(nt1)
integer, intent(in) :: nti1
real(r8), intent(in) :: ti(nti1)
real(r8), intent(out) :: aifi(nti1)
integer, parameter :: r8=selected_real_kind(12,100)
INTEGER, intent(in) :: N
REAL(R8), intent(in) :: X(N)
INTEGER, intent(in) :: Ni
REAL(R8), intent(in) :: Xi(Ni)
REAL(R8), intent(in) :: cspl(4,N)
REAL(R8), intent(out) :: aifi(ni)
    Perform the integration of a periodic function f defined
    on the *ORIGINAL* grid (t_ori, psi_ori). The result, aifi, is a
    2-d array whose elements aifi(i, j) are integrals from node 1 to
    node i, on the target mesh (t, psi) of size nt1*ns.
    A. Pletzer April 30 2001
integer, parameter :: r8=selected_real_kind(12,100)
real(r8), intent(in) :: f(i2mex_o%nt1, i2mex_o%ns)
integer, intent(in) :: nt1
integer, intent(in) :: ns
real(r8), intent(in) :: t(nt1)
real(r8), intent(in) :: psi(ns)
real(r8), intent(out) :: aifi(nt1, ns)
integer, intent(out) :: ier     0 = OK