Skip to content

Commit

Permalink
Joss paper (#337)
Browse files Browse the repository at this point in the history
* first commit of JOSS paper for review
* all committers have accepted co-authorship except for @drjmcauliffe as of merge (still open)
  • Loading branch information
AndrewAnnex committed Jan 24, 2020
1 parent 02e3342 commit c994357
Show file tree
Hide file tree
Showing 3 changed files with 367 additions and 0 deletions.
114 changes: 114 additions & 0 deletions joss/codemeta.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,114 @@
{
"@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld",
"@type": "Code",
"author": [
{
"@id": "https://orcid.org/0000-0002-0253-2313",
"@type": "Person",
"email": "annex@jhu.edu",
"name": "Andrew Annex",
"affiliation": "Johns Hopkins University, Baltimore, MD 21218, USA"
},
{
"@id": "https://orcid.org/0000-0001-9211-6526",
"@type": "Person",
"email": "",
"name": "Brian Carcich",
"affiliation": "Latchmoor Services, LLC"
},
{
"@id": "",
"@type": "Person",
"email": "",
"name": "Ben Pearson",
"affiliation": "General Public"
},
{
"@id": "https://orcid.org/0000-0002-4088-1928",
"@type": "Person",
"email": "",
"name": "K.-Michael Aye",
"affiliation": "Laboratory for Atmospheric and Space Physics, University of Colorado, Boulder, CO 80303, USA"
},
{
"@id": "",
"@type": "Person",
"email": "",

This comment has been minimized.

Copy link
@drjmcauliffe
"name": "Jonathan McAuliffe",
"affiliation": ""

This comment has been minimized.

Copy link
@drjmcauliffe

drjmcauliffe Jan 24, 2020

DLR Gesellschaft für Raumfahrtanwendungen (GfR) mbH

},
{
"@id": "",
"@type": "Person",
"email": "",
"name": "Jorge Diaz del Rio",
"affiliation": "ODC Space"
},
{
"@id": "https://orcid.org/0000-0001-9757-9706",
"@type": "Person",
"email": "",
"name": "Kristin L. Berry",
"affiliation": "USGS Astrogeology Science Center"
},
{
"@id": "https://orcid.org/0000-0002-7736-2611",
"@type": "Person",
"email": "",
"name": "Marcel Stefko",
"affiliation": "ETH Zurich."
},
{
"@id": "https://orcid.org/0000-0002-0455-9384",
"@type": "Person",
"email": "",
"name": "Miguel de Val-Borro",
"affiliation": "Planetary Science Institute"
},
{
"@id": "https://orcid.org/0000-0002-7822-0471",
"@type": "Person",
"email": "",
"name": "Shankar Kulumani",
"affiliation": "Collins Aerospace"
},
{
"@id": "https://orcid.org/0000-0002-7137-4849",
"@type": "Person",
"email": "",
"name": "Shin-ya Murakami",
"affiliation": "GFD Dennou Club"
},
{
"@id": "https://orcid.org/0000-0003-0303-5199",
"@type": "Person",
"email": "",
"name": "Helge Eichhorn",
"affiliation": "Planetary Transportation Systems GmbH, Berlin, Germany"
},
{
"@id": "https://orcid.org/0000-0001-6533-275X",
"@type": "Person",
"email": "",
"name": "Benoît Seignovert",
"affiliation": "Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA 91109, USA"
},
{
"@id": "https://orcid.org/0000-0001-5756-0373",
"@type": "Person",
"email": "",
"name": "Jesse Mapel",
"affiliation": "USGS Astrogeology Science Center"
}
],
"identifier": "https://doi.org/10.5281/zenodo.593914",
"codeRepository": "https://github.com/AndrewAnnex/SpiceyPy",
"datePublished": "2020-01-12",
"dateModified": "2020-01-12",
"dateCreated": "2020-01-12",
"description": "SpiceyPy: the pythonic wrapper for SPICE",
"keywords": "SPICE, ephemeris, NASA, NAIF, navigation, planetary science",
"license": "MIT",
"title": "SpiceyPy",
"version": "v3.0.1"
}
133 changes: 133 additions & 0 deletions joss/paper.bib
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
@article{porter:2018,
abstract = {NASA's New Horizons spacecraft will conduct a close flyby of the cold classical Kuiper Belt Object (KBO) designated (486958) 2014 MU69 on January 1, 2019. At a heliocentric distance of 44 AU, "MU69" will be the most distant object ever visited by a spacecraft. To enable this flyby, we have developed an extremely high precision orbit fitting and uncertainty processing pipeline, making maximal use of the Hubble Space Telescope's Wide Field Camera 3 (WFC3) and pre-release versions of the ESA Gaia Data Release 2 (DR2) catalog. This pipeline also enabled successful predictions of a stellar occultation by MU69 in July 2017. We describe how we process the WFC3 images to match the Gaia DR2 catalog, extract positional uncertainties for this extremely faint target (typically 140 photons per WFC3 exposure), and translate those uncertainties into probability distribution functions for MU69 at any given time. We also describe how we use these uncertainties to guide New Horizons, plan stellar occultions of MU69, and derive MU69's orbital evolution and long-term stability.},
archivePrefix = {arXiv},
arxivId = {1805.02252},
author = {Porter, Simon B. and Buie, Marc W. and Parker, Alex H. and Spencer, John R. and Benecchi, Susan and Tanga, Paolo and Verbiscer, Anne and Kavelaars, J. J. and Gwyn, Stephen D. J. and Young, Eliot F. and Weaver, H. A. and Olkin, Catherine B. and Parker, Joel W. and Stern, S. Alan},
doi = {10.3847/1538-3881/aac2e1},
eprint = {1805.02252},
issn = {0004-6256},
journal = {The Astronomical Journal},
keywords = {2014 mu69,astrometry,astrometry,celestial mechanics,Kuiper Belt: general,Kuiper Belt objects: individual (2014 MU69),occultations,celestial mechanics,general,individual,kuiper belt,kuiper belt objects},
number = {1},
pages = {20},
publisher = {IOP Publishing},
title = {{High-precision Orbit Fitting and Uncertainty Analysis of (486958) 2014 MU69}},
url = {http://dx.doi.org/10.3847/1538-3881/aac2e1},
volume = {156},
year = {2018}
}

@article{acton:2018,
abstract = {The “SPICE” system1 has been widely used since the days of the Magellan mission to Venus as the method for scientists and engineers to access a variety of space mission geometry such as positions, velocities, directions, orientations, sizes and shapes, and field-of-view projections (Acton, 1996). While originally focused on supporting NASA's planetary missions, the use of SPICE has slowly grown to include most worldwide planetary missions, and it has also been finding application in heliophysics and other space science disciplines. This paper peeks under the covers to see what new capabilities are being developed or planned at SPICE headquarters to better support the future of space science. The SPICE system is implemented and maintained by NASA's Navigation and Ancillary Information Facility (NAIF) located at the Jet Propulsion Laboratory in Pasadena, California (http://naif.jpl.nasa.gov).},
author = {Acton, Charles and Bachman, Nathaniel and Semenov, Boris and Wright, Edward},
doi = {10.1016/j.pss.2017.02.013},
issn = {00320633},
journal = {Planetary and Space Science},
number = {January 2017},
pages = {9--12},
publisher = {Elsevier Ltd},
title = {{A look towards the future in the handling of space science mission geometry}},
url = {https://doi.org/10.1016/j.pss.2017.02.013},
volume = {150},
year = {2018}
}

@article{heliopy:2019,
title={HelioPy: Heliospheric and planetary physics library},
author={Stansby, David and Rai, Yatharth and Broll, Jeffrey and Shaw, Siddhant and others},
journal={Astrophysics Source Code Library},
year={2019}
}

@phdthesis{hackett:2019,
title={Applying artificial intelligence to space communications networks: Cognitive real-time link layer adaptations through rapid orbit planning},
author={Hackett, Timothy Michael},
year={2019},
school={The Pennsylvania State University}
}

@article{burrell:2018,
title={Snakes on a spaceship—An overview of Python in heliophysics},
author={Burrell, Angeline G and Halford, A and Klenzing, J and Stoneback, RA and Morley, Steven K and Annex, AM and Laundal, KM and Kellerman, AC and Stansby, D and Ma, J},
journal={Journal of Geophysical Research: Space Physics},
volume={123},
number={12},
pages={10--384},
year={2018},
publisher={Wiley Online Library}
}

@article{zangari:2018,
title={Return to the Kuiper Belt: launch opportunities from 2025 to 2040},
author={Zangari, Amanda M and Finley, Tiffany J and Alan Stern, S and Tapley, Mark B},
journal={Journal of Spacecraft and Rockets},
volume={56},
number={3},
pages={919--930},
year={2018},
publisher={American Institute of Aeronautics and Astronautics}
}

@article{behar:2016,
title={Mass loading at 67P/Churyumov-Gerasimenko: A case study},
author={Behar, Etienne and Nilsson, Hans and Wieser, G Stenberg and Nemeth, Zoltan and Broiles, TW and Richter, Ingo},
journal={Geophysical Research Letters},
volume={43},
number={4},
pages={1411--1418},
year={2016},
publisher={Wiley Online Library}
}

@phdthesis{albin:2019,
title={Machine learning and Monte Carlo based data analysis methods in cosmic dust research},
author={Albin, Thomas},
school={University of Stuttgart},
year={2019}
}

@article{attree:2019,
title={Constraining models of activity on comet 67P/Churyumov-Gerasimenko with Rosetta trajectory, rotation, and water production measurements},
author={Attree, Nicholas and Jorda, Laurent and Groussin, Olivier and Mottola, Stefano and Thomas, Nicolas and Brouet, Yann and K{\"u}hrt, Ekkehard and Knapmeyer, Martin and Preusker, Frank and Scholten, Frank and others},
journal={Astronomy and astrophysics},
year={2019},
publisher={EDP Sciences}
}

@article{behar:2017,
title={The birth and growth of a solar wind cavity around a comet--Rosetta observations},
author={Behar, Etienne and Nilsson, Hans and Alho, M and Goetz, Charlotte and Tsurutani, B},
journal={Monthly Notices of the Royal Astronomical Society},
volume={469},
number={Suppl\_2},
pages={S396--S403},
year={2017},
publisher={Oxford University Press}
}

@inproceedings{wilson:2016,
title={Scheduling observations of celestial objects for Earth observing sensor calibration},
author={Wilson, Truman and Xiong, Xiaoxiong},
booktitle={Sensors, Systems, and Next-Generation Satellites XX},
volume={10000},
pages={1000011},
year={2016},
organization={International Society for Optics and Photonics}
}

@inproceedings{costa:2018,
title={SPICE-based Python packages for Solar System Exploration geometry exploitation},
author={Costa, Marc and Grass, Markus},
booktitle={European Planetary Science Congress},
volume={12},
year={2018}
}

@article{wilson_times:2017,
author = {Chris Wilson},
title = {See How the Solar Eclipse Will Look From Anywhere in the U.S.},
year = 2017,
month = {aug},
journal = {Time Magazine},
url = {https://time.com/4882923/total-solar-eclipse-map-places-view/},
}
120 changes: 120 additions & 0 deletions joss/paper.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
---
title: 'SpiceyPy: a Pythonic Wrapper for the SPICE Toolkit'
tags:
- Python
- SPICE
- ephemeris
- geometry
- navigation
- spacecraft
- planets
authors:
- name: Andrew M. Annex
orcid: 0000-0002-0253-2313
affiliation: 1
- name: Ben Pearson
affiliation: 2
- name: Benoît Seignovert
orcid: 0000-0001-6533-275X
affiliation: 3
- name: Brain T. Carcich
orcid: 0000-0001-9211-6526
affiliation: 4
- name: Helge Eichhorn
orcid: 0000-0003-0303-5199
affiliation: 5
- name: Jesse A. Mapel
orcid: 0000-0001-5756-0373
affiliation: 6
- name: Jorge Diaz del Rio
affiliation: 7
- name: Kristin L. Berry
orcid: 0000-0001-9757-9706
affiliation: 6
- name: K.-Michael Aye
orcid: 0000-0002-4088-1928
affiliation: 8
- name: Marcel Stefko
orcid: 0000-0002-7736-2611
affiliation: 9
- name: Miguel de Val-Borro
orcid: 0000-0002-0455-9384
affiliation: 10
- name: Shankar Kulumani
orcid: 0000-0002-7822-0471
affiliation: 11
- name: Shin-ya Murakami
orcid: 0000-0002-7137-4849
affiliation: 12
affiliations:
- name: Johns Hopkins University, Baltimore, MD 21218, USA.
index: 1
- name: General Public.
index: 2
- name: Jet Propulsion Laboratory, California Institute of Technology, Pasadena, CA 91109, USA.
index: 3
- name: Latchmoor Services, LLC.
index: 4
- name: Planetary Transportation Systems GmbH, Berlin, Germany.
index: 5
- name: USGS Astrogeology Science Center, Flagstaff, AZ 86001, USA.
index: 6
- name: ODC Space.
index: 7
- name: Laboratory for Atmospheric and Space Physics, University of Colorado, Boulder, CO 80303, USA.
index: 8
- name: ETH Zurich.
index: 9
- name: Planetary Science Institute.
index: 10
- name: Collins Aerospace.
index: 11
- name: GFD Dennou Club.
index: 12

date: 23 January 2020
bibliography: paper.bib

---
# Statement of Need

Operating in space necessitates quantifying the positions, velocities, geometries, and other properties of spacecraft and planetary
bodies through time.
Scientists and engineers working with robotic planetary spacecraft missions use the Spacecraft, Planet, Instrument, Camera-matrix, Events
(SPICE) Toolkit [@acton:2018] to help plan observations and to quantify the positions of planetary bodies and spacecraft through time.
SPICE is developed at the Jet Propulsion Laboratory by NASA's Navigation and Ancillary Information Facility (NAIF). Scientists also use
SPICE to analyze data returned by these missions and to plan hypothetical orbital trajectories for future missions [@acton:2018].
For example, SPICE can calculate future occultations of planets relative to a camera in a rover or spacecraft.

This comment has been minimized.

Copy link
@drjmcauliffe

drjmcauliffe Jan 24, 2020

I would say "on a rover or spacecraft" rather than "in ..." .

The NAIF provides SPICE in Fortran 77, C, and they also provide Matlab and IDL wrappers; however, as of 2014, they did not offer a Python
interface.
The growth of Python and movement away from proprietary interpreted languages [@burrell:2018] motivated the development of SpiceyPy so
that planetary scientists and engineers can use SPICE within Python.

# Summary

``SpiceyPy`` is an open-source, MIT licensed Python package that provides a ``pythonic`` interface to nearly all of the C SPICE toolkit N66.
``SpiceyPy`` was developed in Python using the ``ctypes`` module of the CPython standard library to wrap the underlying C SPICE shared library.
Developing ``SpiceyPy`` in Python enabled the SpiceyPy API to expose simplified and more ``pythonic`` interactions with the underlying C API for SPICE.
``SpiceyPy`` relies on the NumPy library for numeric arrays and tight integration with the SciPy stack.

``SpiceyPy`` is extensively tested using a combination of unit and integration tests, which run using continuous integration services.
The tests also serve as code examples translated from the NAIF documentation.
Continuous deployment updates documentation and deploys artifacts of releases to PyPI and the conda-forge.
Every SPICE function wrapper in SpiceyPy contains docstrings that provide short descriptions of the function duplicated from the SPICE
documentation.
Docstrings in SpiceyPy also contain links to the corresponding CSPICE documentation page hosted by the NAIF to provide additional details
regarding the function.

``SpiceyPy`` enables scientists to utilize the full functionality of SPICE within Python and the ecosystem of visualization and
scientific packages available.
``SpiceyPy`` has been utilized in peer-reviewed research [@behar:2016; @behar:2017; @porter:2018; @zangari:2018; @attree:2019;], masters
and doctoral theses [@hackett:2019; @albin:2019], spacecraft mission operations, as a dependency in other python libraries [@heliopy:2019
], and for a variety of other projects [@wilson:2016; @wilson_times:2017; @costa:2018].

# Acknowledgements
The authors would like to acknowledge members of the NAIF (Charles Acton, Ed Wright, Boris Semenov, Nat Bachman) for continued support for
SpiceyPy and for providing to users a *SpiceyPy translation* of their excellent "Hands-on" lessons.
The first author also thanks all of the contributors and users of SpiceyPy; they motivate further improvements to the project.
Co-authors other than the first author are ordered solely alphabetically by their first name.

# References

0 comments on commit c994357

Please sign in to comment.