Julia wrapper for NASA NAIF's SPICE toolkit
SPICE.jl is a Julia wrapper for the SPICE toolkit which is provided by NASA's Navigation and Ancillary Information Facility (NAIF). It provides functionality to read SPICE data files and compute derived observation geometry such as altitude, latitude/longitude and lighting angles. Please refer to its comprehensive documentation if you are not yet familiar with SPICE.
Note: This project is not affiliated with NASA, NAIF or JPL in any way.
julia> import Pkg; Pkg.add("SPICE")
using SPICE
using Downloads: download
const LSK = "https://naif.jpl.nasa.gov/pub/naif/generic_kernels/lsk/naif0012.tls"
const SPK = "https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/planets/de440.bsp"
# Download kernels
download(LSK, "naif0012.tls")
download(SPK, "de440.bsp")
# Load leap seconds kernel
furnsh("naif0012.tls")
# Convert the calendar date to ephemeris seconds past J2000
et = utc2et("2018-02-06T20:45:00")
# Load a planetary ephemeris kernel
furnsh("de440.bsp")
# Get the position of Mars at `et` w.r.t. Earth
spkpos("mars_barycenter", et, "J2000", "none", "earth")
If you publish work that uses SPICE.jl, please cite the underlying SPICE toolkit. The citation information can be found here.
Please refer to the documentation for additional information.
SPICE.jl's test suite is based on the unit tests for the Python wrapper SpiceyPy by Andrew Annex.