EphemerisSources.jl: Idiomatic Ephemeris Sourcing and Parsing in Julia (2411.12774v1)
Abstract: Students and professionals in astronomy, astrodynamics, astrophysics, and other related fields often download and parse data about objects in our solar system -- ephemeris data -- from two major providers: JPL's publicly-available Generic SPICE Kernels and JPL's Horizons platform. SPICE kernels are typically read through the SPICE Toolkit, which is available in a variety of programming languages, including the C Programming Language with CSPICE [@cspice]. The Julia packages CSPICE_jll.jl and SPICE.jl expose many CSPICE functions through Julia functions. Julia users can load and interact with SPICE kernels through methods such as SPICE.furnsh and SPICE.spkez. Horizons provides data through a variety of methods, including email, command-line, graphical web interfaces, and a REST API [@horizons]. This paper introduces several packages -- SPICEKernels.jl, SPICEBodies.jl, HorizonsAPI.jl and HorizonsEphemeris.jl -- which allow users to download and process Cartesian state vector data idiomatically, all from within Julia. While ephemeris data comes in many forms, including observer tables, osculating orbital elements, and binary formats, these packages currently target Cartesian state vector (position and velocity) ephemeris data. Through the use of these packages, users can share replicable code which automatically fetches data from publicly-available ephemeris sources, as opposed to manually including ephemeris data files with their source code distribution.
Paper Prompts
Sign up for free to create and run prompts on this paper using GPT-5.
Top Community Prompts
Collections
Sign up for free to add this paper to one or more collections.