initialize_spice_ephemeris Subroutine

private subroutine initialize_spice_ephemeris(me, kernels)

Initialize a SPICE ephemeris by loading the specified kernels.

Type Bound

spice_ephemeris

Arguments

Type IntentOptional Attributes Name
class(spice_ephemeris), intent(inout) :: me
character(len=*), intent(in), dimension(:) :: kernels

list of kernels to load


Source Code

    subroutine initialize_spice_ephemeris(me,kernels)

    implicit none

    class(spice_ephemeris),intent(inout) :: me
    character(len=*),dimension(:),intent(in) :: kernels  !! list of kernels to load

    integer :: i !! counter

#ifdef HAS_SPICELIB

    ! disable the SPICE traceback system to speed it up.
    call trcoff()

    call me%close() ! just in case

    !save the kernel list for unloading later:
    allocate( character(len=len(kernels)) :: me%kernels(size(kernels)))

    !load all the kernels:
    do i=1,size(kernels)
        call furnsh(trim(kernels(i)))
    end do

#else
    error stop 'this library was not built with SPICELIB support'
#endif

    end subroutine initialize_spice_ephemeris