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.