50 Stars
Updated Last
1 Year Ago
Started In
January 2016


Julia wrapper for NASA NAIF's SPICE toolkit

Build Status Coverage

Stable Dev

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

# Convert the calendar date to ephemeris seconds past J2000
et = utc2et("2018-02-06T20:45:00")

# Load a planetary ephemeris kernel

# 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.

Required Packages

No packages found.