[ANN] Ephemeris Fetching with SPICEKernels.jl

This package has been out for some time, but I have been relatively quiet about it until now. I’ve released SPICEKernels.jl, which allows for simple Generic Kernel downloading, caching, and inspecting. I have a pipeline that crawls NASA’s website for changes to ephemeris files, and then uses SPICEApplications to print a summary of each file’s contents to docstrings.

All of the generic kernels are available as exported constants, so your IDE will autocomplete and show the kernel contents as docstrings. I hope this package makes using ephemeris data a bit easier: no manual downloading!

julia> using SPICE, SPICEKernels


julia> furnsh(
           de440s(),                   # position and velocity data for major solar system bodies
           latest_leapseconds_lsk(),   # timekeeping, parsing epochs
           gm_de440(),                 # mass parameters for major solar system bodies
           pck00011(),                 # physical properties of major solar system bodies
       )

help?> ?jup344
search: jup344 jup344_nameid jup344_s2003_j24 jup344_s2003_j24_nameid jup346 jup346_nameid

  A SPK kernel of size 297.5 MB, linked from https://naif.jpl.nasa.gov [1]. Calling this variable like a function
  will return a path to the file, downloading to scratchspace if necessary.

  Extended Help
  ≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡

  This kernel's link was sourced on 2023-09-29.

  References
  ============

  [1] https://naif.jpl.nasa.gov/pub/naif/generic_kernels/spk/satellites/jup344.bsp

  Description
  =============

   
  BRIEF -- Version 4.1.0, September 17, 2021 -- Toolkit Version N0067
   
   
  Summary for: jup344.bsp
   
  Bodies: EARTH BARYCENTER (3)    AITNE (531)             557
          JUPITER BARYCENTER (5)  EURYDOME (532)          558
          SUN (10)                EUANTHE (533)           559
          EARTH (399)             EUPORIE (534)           560
          HIMALIA (506)           ORTHOSIE (535)          561
          ELARA (507)             SPONDE (536)            562
          PASIPHAE (508)          KALE (537)              563
          SINOPE (509)            PASITHEE (538)          564
          LYSITHEA (510)          HEGEMONE (539)          565
          CARME (511)             MNEME (540)             566
          ANANKE (512)            AOEDE (541)             567
          LEDA (513)              THELXINOE (542)         568
          CALLIRRHOE (517)        ARCHE (543)             569
          THEMISTO (518)          KALLICHORE (544)        570
          MEGACLITE (519)         HELIKE (545)            571
          TAYGETE (520)           CARPO (546)             572
          CHALDENE (521)          EUKELADE (547)          JUPITER (599)
          HARPALYKE (522)         CYLLENE (548)           55501
          KALYKE (523)            KORE (549)              55502
          IOCASTE (524)           HERSE (550)             55503
          ERINOME (525)           551                     55504
          ISONOE (526)            552                     55505
          PRAXIDIKE (527)         DIA (553)               55506
          AUTONOE (528)           554                     55507
          THYONE (529)            555
          HERMIPPE (530)          556
          Start of Interval (ET)              End of Interval (ET)
          -----------------------------       -----------------------------
          1799 DEC 27 00:00:00.000            2200 JAN 05 00:00:00.000
   

2 Likes