Skip to content
PL1

Add support for SpiceRef associated reference frame

It is possible to defined sciences relevant frame in frame kernels (eg. fk/juice_sci_v11.tf for JUICE). Theses body fixed frames can be associated with SPICE object if the a OBJECT_<name or spk_id>_FRAME = '<frame name>' or <frame ID code> is defined.

This value can be retrieved with cidfrm SPICE API:

>>> spice.cidfrm(599)  # For JUPITER
(10015, 'IAU_JUPITER')

This relationship is already possible for SpiceBody objects with the .frame property:

>>> SpiceBody('JUPITER').frame
'IAU_JUPITER'

but it requires that the id of the provided body is a valid NAIF integer code (code = 10 or 100 < code < 1,000).

If present, we should provide the associated frame to any SpiceRef object. If the frame is not found, we could try to check if the FRAME_<name> variable is defined. If none of these 2 method succeeded, an ValueError should be raised.

/cc @mcosta @lpenasa

Edited by benoit seignovert