EphemerisSources.jl: Idiomatic Ephemeris Sourcing andParsing in Julia

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](https://naif.jpl.nasa.gov/pub/naif/generic_kernels/) and JPL's [Horizons platform](https://ssd.jpl.nasa.gov/horizons/). 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`](https://github.com/JuliaBinaryWrappers/CSPICE_jll.jl) and [`SPICE.jl`](https://github.com/JuliaAstro/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](https://ssd-api.jpl.nasa.gov/doc/horizons.html) [@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.

Authors

Publication Details

Journal
The Journal of Open Source Software
Published
2024-10-10
DOI
https://doi.org/10.21105/joss.06914
Primary Topic
Classical Antiquity Studies
Type
article
Field-Weighted Citation Impact
0.00
Controls
|||
ALL TIME
JAN
FEB
MAR
APR
MAY
JUN
JUL
AUG
SEP
OCT
article

EphemerisSources.jl: Idiomatic Ephemeris Sourcing andParsing in Julia

Joseph D. Carpinelli
The Journal of Open Source Software
Classical Antiquity Studies
article

EphemerisSources.jl: Idiomatic Ephemeris Sourcing andParsing in Julia

Joseph D. Carpinelli
article en

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](https://naif.jpl.nasa.gov/pub/naif/generic_kernels/) and JPL's [Horizons platform](https://ssd.jpl.nasa.gov/horizons/). 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`](https://github.com/JuliaBinaryWrappers/CSPICE_jll.jl) and [`SPICE.jl`](https://github.com/JuliaAstro/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](https://ssd-api.jpl.nasa.gov/doc/horizons.html) [@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.

The Journal of Open Source SoftwareVol. 9(102)
Openalex Percentile: Top 75%
Classical Antiquity Studies
AI Navigator

Ask Laika to Summarize, Analyze, and Connect papers live on the map.

Summarize Papers & Methodologies

Extract key findings, datasets, and comparative methods across publications.

Benchmark Rankings & Visual Analytics

Rank top research institutions, authors, funders, topics, and journals by Field-Weighted Citation Impact (FWCI) and paper volume with instant charts.

Connect Distant Disciplines

Bridge topological clusters on the map to find hidden collaborative intersections.