FIXME : Add documentation
This routine assumes nnew<nold
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(in) | :: | nold | |||
real, | intent(in), | dimension (-nold:nold) | :: | x | ||
real, | intent(inout), | dimension (-nold:nold) | :: | y | ||
integer, | intent(in) | :: | nnew | |||
real, | intent(in), | dimension (-nnew:nnew) | :: | xnew |
subroutine regrid (nold, x, y, nnew, xnew)
use splines, only: new_spline, splint, delete_spline, spline
implicit none
integer, intent (in) :: nold
real, dimension (-nold:nold), intent (in) :: x
real, dimension (-nold:nold), intent (in out) :: y
integer, intent (in) :: nnew
real, dimension (-nnew:nnew), intent (in) :: xnew
type (spline) :: spl
integer :: i
spl = new_spline (x(-nold:nold), y(-nold:nold), tension = regrid_tension)
do i = -nnew, nnew
y(i) = splint(xnew(i), spl)
end do
call delete_spline (spl)
end subroutine regrid