# Naif-Spice

Ruby wrapper for NAIF's CSPICE API

## Description

The Ruby Spice library is a partial wrapper of the CSPICE library provided by NAIF. It is not yet feature complete, but most of the useful functions are present.

## License

This gem has been released under the modified BSD license. See COPYING in the distribution package for details.

Copyright (c) 2009-2017, Arizona State University and Mark Robinson All rights reserved.

## Aberration Correction

*extracted from NAIF subpnt*

```
abcorr indicates the aberration corrections to be applied when
computing the target's position and orientation.
For remote sensing applications, where the apparent
sub-observer point seen by the observer is desired,
normally either of the corrections
"LT+S"
"CN+S"
should be used. These and the other supported options
are described below. `abcorr' may be any of the
following:
"NONE" Apply no correction. Return the
geometric sub-observer point on the
target body.
Let `lt' represent the one-way light time between the
observer and the sub-observer point (note: NOT
between the observer and the target body's center).
The following values of `abcorr' apply to the
"reception" case in which photons depart from the
sub-observer point's location at the light-time
corrected epoch et-lt and *arrive* at the observer's
location at `et':
"LT" Correct for one-way light time (also
called "planetary aberration") using a
Newtonian formulation. This correction
yields the location of sub-observer
point at the moment it emitted photons
arriving at the observer at `et'.
The light time correction uses an
iterative solution of the light time
equation. The solution invoked by the
"LT" option uses one iteration.
Both the target position as seen by the
observer, and rotation of the target
body, are corrected for light time.
"LT+S" Correct for one-way light time and stellar
aberration using a Newtonian formulation.
This option modifies the sub-observer
point obtained with the "LT" option to
account for the observer's velocity
relative to the solar system barycenter.
These corrections yield the apparent
sub-observer point.
"CN" Converged Newtonian light time
correction. In solving the light time
equation, the "CN" correction iterates
until the solution converges. Both the
position and rotation of the target
body are corrected for light time.
"CN+S" Converged Newtonian light time and
stellar aberration corrections. This
option produces a solution that is at
least as accurate at that obtainable
with the "LT+S" option. Whether the "CN+S"
solution is substantially more accurate
depends on the geometry of the
participating objects and on the
accuracy of the input data. In all
cases this routine will execute more
slowly when a converged solution is
computed.
The following values of `abcorr' apply to the
"transmission" case in which photons *depart* from
the observer's location at `et' and arrive at the
sub-observer point at the light-time corrected epoch
et+lt:
"XLT" "Transmission" case: correct for
one-way light time using a Newtonian
formulation. This correction yields the
sub-observer location at the moment it
receives photons emitted from the
observer's location at `et'.
The light time correction uses an
iterative solution of the light time
equation. The solution invoked by the
"LT" option uses one iteration.
Both the target position as seen by the
observer, and rotation of the target
body, are corrected for light time.
"XLT+S" "Transmission" case: correct for
one-way light time and stellar
aberration using a Newtonian
formulation This option modifies the
sub-observer point obtained with the
"XLT" option to account for the
observer's velocity relative to the
solar system barycenter.
"XCN" Converged Newtonian light time
correction. This is the same as "XLT"
correction but with further iterations
to a converged Newtonian light time
solution.
"XCN+S" "Transmission" case: converged
Newtonian light time and stellar
aberration corrections.
Neither case nor white space are significant in
`abcorr'. For example, the string
'Lt + s'
is valid.
```