SPICE Pool#

The SPICE calculations are performed on a loaded set of kernels, usually with the spiceypy.furnsh() function. These kernels are cached in the SPICE pool and accessible to all the SPICE functions.

To easily manipulate this pool, to add or remove kernels and to quickly check its content, we created a python SpicePool object that acts as a singleton.

from planetary_coverage import SpicePool

Add and remove kernels to the pool#

You can add one or many kernel(s) with:

SpicePool.add('naif0012.tls')
SpicePool.add('pck00010.tpc')

or directly with a list of kernels:

Warning

If a kernel is already present in the pool, it will throw a ValueError exception to ensure that kernels are only loaded once. You need to explicitly remove it from the pool before adding it again or use purge=True (see below).

SpicePool.add(['naif0012.tls', 'pck00010.tpc'])

We can inspect the content of the pool and see our two loaded kernels:

SpicePool
KernelsTypeSize
naif0012.tls⏱️ LSK5 kB
pck00010.tpc🪐 PCK123 kB

To get a summary of the pool content, grouped by kernel types, use the .summary property:

SpicePool.summary
TypesCountSize
⏱️ LSK15 kB
🪐 PCK1123 kB
Total2128 kB

If you need an explicit list of the loaded kernels, you can use the .kernels property:

SpicePool.kernels
('naif0012.tls', 'pck00010.tpc')

You can remove a kernel from the pool with:

Hint

Logical operations to add/remove a kernel(s) to/from the pool are also supported:

SpicePool + 'naif0012.tls'
SpicePool - 'naif0012.tls'
SpicePool.remove('naif0012.tls')

SpicePool
KernelsTypeSize
pck00010.tpc🪐 PCK123 kB

and check if the kernel is still in the pool:

'naif0012.tls' in SpicePool
False
'pck00010.tpc' in SpicePool
True

You can also check the full content of the pool against a list of expected kernels:

SpicePool == ['pck00010.tpc']
True

Get values from pool#

Reload the kernels in the pool:

Tip

Here the purge=True ensure that only these kernels will be present in the pool any previously loaded kernel will be purged.

You can also use SpicePool.purge() to explicitly purge the pool.

SpicePool.add(['naif0012.tls', 'pck00010.tpc'], purge=True)

SpicePool
KernelsTypeSize
naif0012.tls⏱️ LSK5 kB
pck00010.tpc🪐 PCK123 kB

When your set of kernels is loaded, you can request any values in the pool with the python getter syntax:

SpicePool['DELTET/DELTA_T_A']
32.184
SpicePool['BODY503_RADII']
[2631.2, 2631.2, 2631.2]

You can also search by wild string (*) or wild characters (%):

SpicePool['BODY50%_RADII']
['BODY501_RADII',
 'BODY502_RADII',
 'BODY503_RADII',
 'BODY504_RADII',
 'BODY505_RADII',
 'BODY506_RADII',
 'BODY507_RADII',
 'BODY508_RADII',
 'BODY509_RADII']
SpicePool['BODY503_*']
['BODY503_LONG_AXIS',
 'BODY503_NUT_PREC_DEC',
 'BODY503_NUT_PREC_PM',
 'BODY503_NUT_PREC_RA',
 'BODY503_PM',
 'BODY503_POLE_DEC',
 'BODY503_POLE_RA',
 'BODY503_RADII']

If the value is not present in the pool a ValueError will be thrown:

SpicePool['FOO']
---------------------------------------------------------------------------
KeyError                                  Traceback (most recent call last)
Cell In[15], line 1
----> 1 SpicePool['FOO']

File ~/checkouts/readthedocs.org/user_builds/planetary-coverage/checkouts/latest/src/planetary_coverage/spice/pool.py:76, in MetaSpicePool.__getitem__(cls, item)
     75 def __getitem__(cls, item):
---> 76     return get_item(item)

File ~/checkouts/readthedocs.org/user_builds/planetary-coverage/checkouts/latest/src/planetary_coverage/spice/kernel.py:487, in get_item(item, start, chunk_size)
    484         arr = list(sp.gcpool(item, start, chunk_size))
    486     except sp.stypes.NotFoundError:
--> 487         raise KeyError(f'`{item}` was not found in the kernel pool.') from None
    489 # Large chunks
    490 if len(arr) == chunk_size:

KeyError: '`FOO` was not found in the kernel pool.'

Kernels temporal coverage#

We will start by loading all the kernels from Juice 5.1 150lb metakernel:

from planetary_coverage import TourConfig

TourConfig(mk='5.1 150lb_23_1', version='v422_20230130_002', load_kernels=True)
<TourConfig> Spacecraft: JUICE | Target: GANYMEDE | Metakernel: juice_crema_5_1_150lb_23_1_v422_20230130_002 | SKD version: v422_20230130_002

Sometimes it can be difficult to get the complete range of valid times that can be use with the kernels loaded in the pool. The SpicePool provide a helper that will search all CK, PCK and SPK kernels to find the coverage window associated with a given body:

SpicePool.windows('GANYMEDE')
{<SpiceBody> GANYMEDE (503): {'/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/jup310_19900101_20500101.bsp': array([['2031-01-19T00:00:00.000', '2031-01-23T00:00:00.000'],
         ['2031-07-19T00:00:00.000', '2031-07-23T00:00:00.000'],
         ['2032-02-11T00:00:00.000', '2032-02-16T00:00:00.000'],
         ['2032-04-09T00:00:00.000', '2032-04-13T00:00:00.000'],
         ['2032-05-07T00:00:00.000', '2032-05-11T00:00:00.000'],
         ['2032-05-31T00:00:00.000', '2034-07-01T00:00:00.000'],
         ['2034-07-10T00:00:00.000', '2034-07-14T00:00:00.000'],
         ['2034-09-05T00:00:00.000', '2034-09-09T00:00:00.000'],
         ['2034-09-27T00:00:00.000', '2034-10-01T00:00:00.000'],
         ['2034-11-16T00:00:00.000', '2034-11-20T00:00:00.000'],
         ['2035-01-16T00:00:00.000', '2035-04-17T00:00:00.000'],
         ['2035-05-31T00:00:00.000', '2035-06-03T00:00:00.000']],
        dtype='datetime64[ms]'),
  '/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/noe-5-2017-gal-a-reduced_20200101_20380902.bsp': array([['2031-01-19T00:00:00.000', '2031-01-23T00:00:00.000'],
         ['2031-07-19T00:00:00.000', '2031-07-23T00:00:00.000'],
         ['2032-02-11T00:00:00.000', '2032-02-16T00:00:00.000'],
         ['2032-04-09T00:00:00.000', '2032-04-13T00:00:00.000'],
         ['2032-05-07T00:00:00.000', '2032-05-11T00:00:00.000'],
         ['2032-05-31T00:00:00.000', '2032-06-04T00:00:00.000'],
         ['2033-11-25T00:00:00.000', '2033-11-29T00:00:00.000'],
         ['2034-01-12T00:00:00.000', '2034-01-16T00:00:00.000'],
         ['2034-06-04T00:00:00.000', '2034-06-08T00:00:00.000'],
         ['2034-07-10T00:00:00.000', '2034-07-14T00:00:00.000'],
         ['2034-09-05T00:00:00.000', '2034-09-09T00:00:00.000'],
         ['2034-09-27T00:00:00.000', '2034-10-01T00:00:00.000'],
         ['2034-11-16T00:00:00.000', '2034-11-20T00:00:00.000'],
         ['2035-01-16T00:00:00.000', '2035-04-17T00:00:00.000'],
         ['2035-05-31T00:00:00.000', '2035-06-03T00:00:00.000']],
        dtype='datetime64[ms]')}}

You can select different types of output format, with the fmt argument:

SpicePool.windows('GANYMEDE', fmt='ET')
{<SpiceBody> GANYMEDE (503): {'/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/jup310_19900101_20500101.bsp': [[979819269.184428,
    980164869.1845388],
   [995457669.18363, 995803269.1835216],
   [1013342469.1850137, 1013774469.1851239],
   [1018353669.18565, 1018699269.1856357],
   [1020772869.1853942, 1021118469.1853299],
   [1022846469.1849242, 1088596869.1841252],
   [1089374469.1838732, 1089720069.1837616],
   [1094299269.1825678, 1094644869.1825142],
   [1096200069.1823618, 1096545669.1823485],
   [1100520069.1827474, 1100865669.1828258],
   [1105790469.1843424, 1113652869.1856186],
   [1117454469.1849425, 1117713669.184872]],
  '/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/noe-5-2017-gal-a-reduced_20200101_20380902.bsp': [[979819269.184428,
    980164869.1845388],
   [995457669.18363, 995803269.1835216],
   [1013342469.1850137, 1013774469.1851239],
   [1018353669.18565, 1018699269.1856357],
   [1020772869.1853942, 1021118469.1853299],
   [1022846469.1849242, 1023192069.1848289],
   [1069761669.1829377, 1070107269.1830289],
   [1073908869.1842358, 1074254469.1843498],
   [1086264069.1848416, 1086609669.184743],
   [1089374469.1838732, 1089720069.1837616],
   [1094299269.1825678, 1094644869.1825142],
   [1096200069.1823618, 1096545669.1823485],
   [1100520069.1827474, 1100865669.1828258],
   [1105790469.1843424, 1113652869.1856186],
   [1117454469.1849425, 1117713669.184872]]}}

You can also provide a list of bodies to get all their coverage windows:

SpicePool.windows('JUICE', 'GANYMEDE')
{<SpiceBody> GANYMEDE (503): {'/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/jup310_19900101_20500101.bsp': array([['2031-01-19T00:00:00.000', '2031-01-23T00:00:00.000'],
         ['2031-07-19T00:00:00.000', '2031-07-23T00:00:00.000'],
         ['2032-02-11T00:00:00.000', '2032-02-16T00:00:00.000'],
         ['2032-04-09T00:00:00.000', '2032-04-13T00:00:00.000'],
         ['2032-05-07T00:00:00.000', '2032-05-11T00:00:00.000'],
         ['2032-05-31T00:00:00.000', '2034-07-01T00:00:00.000'],
         ['2034-07-10T00:00:00.000', '2034-07-14T00:00:00.000'],
         ['2034-09-05T00:00:00.000', '2034-09-09T00:00:00.000'],
         ['2034-09-27T00:00:00.000', '2034-10-01T00:00:00.000'],
         ['2034-11-16T00:00:00.000', '2034-11-20T00:00:00.000'],
         ['2035-01-16T00:00:00.000', '2035-04-17T00:00:00.000'],
         ['2035-05-31T00:00:00.000', '2035-06-03T00:00:00.000']],
        dtype='datetime64[ms]'),
  '/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/noe-5-2017-gal-a-reduced_20200101_20380902.bsp': array([['2031-01-19T00:00:00.000', '2031-01-23T00:00:00.000'],
         ['2031-07-19T00:00:00.000', '2031-07-23T00:00:00.000'],
         ['2032-02-11T00:00:00.000', '2032-02-16T00:00:00.000'],
         ['2032-04-09T00:00:00.000', '2032-04-13T00:00:00.000'],
         ['2032-05-07T00:00:00.000', '2032-05-11T00:00:00.000'],
         ['2032-05-31T00:00:00.000', '2032-06-04T00:00:00.000'],
         ['2033-11-25T00:00:00.000', '2033-11-29T00:00:00.000'],
         ['2034-01-12T00:00:00.000', '2034-01-16T00:00:00.000'],
         ['2034-06-04T00:00:00.000', '2034-06-08T00:00:00.000'],
         ['2034-07-10T00:00:00.000', '2034-07-14T00:00:00.000'],
         ['2034-09-05T00:00:00.000', '2034-09-09T00:00:00.000'],
         ['2034-09-27T00:00:00.000', '2034-10-01T00:00:00.000'],
         ['2034-11-16T00:00:00.000', '2034-11-20T00:00:00.000'],
         ['2035-01-16T00:00:00.000', '2035-04-17T00:00:00.000'],
         ['2035-05-31T00:00:00.000', '2035-06-03T00:00:00.000']],
        dtype='datetime64[ms]')},
 <SpiceSpacecraft> JUICE (-28): {'/home/docs/checkouts/readthedocs.org/user_builds/planetary-coverage/kernels/juice/spk/juice_crema_5_1_150lb_23_1_v01.bsp': array([['2023-04-05T12:40:24.151', '2031-06-02T00:00:00.000'],
         ['2031-07-19T00:00:00.000', '2031-07-23T00:00:00.000'],
         ['2032-02-11T00:00:00.000', '2032-02-16T00:00:00.000'],
         ['2032-04-09T00:00:00.000', '2032-04-13T00:00:00.000'],
         ['2032-05-07T00:00:00.000', '2032-05-11T00:00:00.000'],
         ['2032-05-31T00:00:00.000', '2034-07-01T00:00:00.000'],
         ['2034-07-10T00:00:00.000', '2034-07-14T00:00:00.000'],
         ['2034-09-05T00:00:00.000', '2034-09-09T00:00:00.000'],
         ['2034-09-27T00:00:00.000', '2034-10-01T00:00:00.000'],
         ['2034-11-16T00:00:00.000', '2034-11-20T00:00:00.000'],
         ['2035-01-16T00:00:00.000', '2035-04-17T00:00:00.000'],
         ['2035-05-31T00:00:00.000', '2035-06-03T00:00:00.000']],
        dtype='datetime64[ms]')}}

If you need the overlapping coverage (i.e. max start time and min stop time), you can use the .coverage() method:

SpicePool.coverage('JUICE', 'GANYMEDE', fmt='TDB')
('2031-01-19 00:01:09.184 TDB', '2035-06-03 00:01:09.184 TDB')

This coverage correspond to the maximum temporal coverage including the gaps (if some are present). If you are interested by the temporal gaps, you can retreive them with .gaps() method:

SpicePool.gaps('JUICE_SPACECRAFT_PLAN', fmt='TDB')
array([['2023-11-21 01:29:11.998 TDB', '2024-10-31 02:29:45.998 TDB'],
       ['2024-11-04 08:34:55.998 TDB', '2027-11-20 19:56:45.998 TDB'],
       ['2027-12-01 02:56:51.999 TDB', '2029-11-07 07:37:10.998 TDB'],
       ...,
       ['2035-05-30 17:59:18.000 TDB', '2035-05-31 09:56:31.000 TDB'],
       ['2035-05-31 17:56:31.000 TDB', '2035-06-01 09:53:29.000 TDB'],
       ['2035-06-01 17:53:29.000 TDB', '2035-06-02 09:50:21.000 TDB']],
      dtype='<U27')

You can also get a list of all bodies temporal coverage with the .brief() method (similar to NAIF brief -t -a utility):

SpicePool.brief(fmt='TDB')
{<SpiceSpacecraft> JUICE (-28): ('2023-04-05 12:41:33.336 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceFrame> JUICE_SPACECRAFT (-28_000): ('2022-06-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_SPACECRAFT_PLAN (-28_001): ('2023-04-05 12:50:25.187 TDB',
  '2035-10-05 01:26:40.180 TDB'),
 <SpiceFrame> JUICE_SA+Y (-28_011): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_SA+Y_PLAN (-28_012): ('2031-01-19 00:01:09.184 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceFrame> JUICE_SA-Y (-28_015): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_SA-Y_PLAN (-28_016): ('2031-01-19 00:01:09.184 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceFrame> JUICE_HGA (-28_020): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_MAG_BOOM (-28_031): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_MGA_APM (-28_040): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_MGA_AZ_PLAN (-28_042): ('2031-01-19 00:01:09.184 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceFrame> JUICE_MGA_EL_PLAN (-28_046): ('2031-01-19 00:01:09.184 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceFrame> JUICE_MGA (-28_048): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_NAVCAM-1 (-28_051): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_NAVCAM-2 (-28_052): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_STR-OH1 (-28_061): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_STR-OH2 (-28_062): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_STR-OH3 (-28_063): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_LGA+X (-28_071): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_LGA-X (-28_072): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_SCHULTE_KA_BAND (-28_075): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_SCHULTE_X_BAND (-28_076): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_JMC-1 (-28_081): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_JMC-2 (-28_082): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_GALA (-28_100): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_JANUS (-28_200): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JMAG_MAGIBS (-28_300): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JMAG_MAGOBS (-28_310): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JMAG_MAGSCA (-28_320): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X (-28_380): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_1 (-28_381): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_2 (-28_382): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_3 (-28_383): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_4 (-28_384): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_5 (-28_385): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_6 (-28_386): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_7 (-28_387): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-X_8 (-28_388): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y (-28_390): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_1 (-28_391): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_2 (-28_392): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_3 (-28_393): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_4 (-28_394): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_5 (-28_395): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_6 (-28_396): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_7 (-28_397): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JACS-Y_8 (-28_398): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_MAJIS (-28_400): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_MAJIS_SCAN (-28_401): ('2022-06-01 00:01:08.185 TDB',
  '2050-01-01 00:01:08.183 TDB'),
 <SpiceInstrument> JUICE_PEP_JDC (-28_510): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_JNA (-28_520): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_PEP_NIM (-28_530): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_PEP_NIM_NEUION (-28_531): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_NIM_NEUION_S0 (-28_532): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_NIM_NEUION_S1 (-28_533): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_NIM_NEUION_S2 (-28_534): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_NIM_NEUION_S3 (-28_535): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_NIM_NEUION_S4 (-28_536): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_JEI (-28_540): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_PEP_JOEE (-28_550): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_PEP_JENI (-28_560): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_RIME+X (-28_601): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RIME-X (-28_602): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LPB1 (-28_701): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LP1 (-28_705): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LPB2 (-28_711): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LP2 (-28_715): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LPB3 (-28_721): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LP3 (-28_725): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LPB4 (-28_731): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_LP4 (-28_735): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_RWI (-28_740): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_RWI_EX (-28_741): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_RWI_EY (-28_742): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_RWI_EZ (-28_743): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_RWI_EX_P (-28_744): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_RWI_EX_M (-28_745): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_RWI_EY_P (-28_746): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_RWI_EY_M (-28_747): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_RWI_EZ_P (-28_748): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_RWI_EZ_M (-28_749): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_SCM (-28_750): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_SCM_EX (-28_751): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_SCM_EY (-28_752): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_RPWI_SCM_EZ (-28_753): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_SCM_EX_P (-28_754): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_SCM_EX_M (-28_755): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_SCM_EY_P (-28_756): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_SCM_EY_M (-28_757): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_SCM_EZ_P (-28_758): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_RPWI_SCM_EZ_M (-28_759): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_SWI_FULL (-28_800): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceInstrument> JUICE_SWI_CH1 (-28_810): ('2022-06-01 00:01:08.185 TDB',
  '2050-01-01 00:01:08.183 TDB'),
 <SpiceFrame> JUICE_UVS (-28_850): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_HAA_UOAF (-28_880): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_HAA (-28_881): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_SCHULTE_ORIGIN (-28_882): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JUP_HALO_RING (-28_941): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JUP_MAIN_RING (-28_942): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JUP_AMA_GOS_RING (-28_943): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JUP_THE_GOS_RING (-28_944): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_JUP_THE_RING_EXT (-28_945): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_MGA_KA_BAND (-28_948): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_MGA_X_BAND (-28_949): ('2022-06-03 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_IO_PLASMA_TORUS (-28_968): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> JUICE_EUROPA_PLASMA_TORUS (-28_988): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_01 (-280_001): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_02 (-280_002): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_03 (-280_003): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_04 (-280_004): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_05 (-280_005): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_06 (-280_006): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_1_0_07 (-280_007): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_3_0_01 (-280_008): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_3_0_02 (-280_009): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_3_0_03 (-2_800_010): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_3_0_04 (-2_800_011): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_3_0_05 (-2_800_012): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_1_01 (-2_800_013): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_1_02 (-2_800_014): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_1_03 (-2_800_015): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_2_01 (-2_800_016): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_2_02 (-2_800_017): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_2_03 (-2_800_018): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_2_04 (-2_800_019): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_2_05 (-2_800_020): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_01 (-2_800_021): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_02 (-2_800_022): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_03 (-2_800_023): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_04 (-2_800_024): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_05 (-2_800_025): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_06 (-2_800_026): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_07 (-2_800_027): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_08 (-2_800_028): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_09 (-2_800_029): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_10 (-2_800_030): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_3_11 (-2_800_031): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_4_01 (-2_800_032): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_4_02 (-2_800_033): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_4_03 (-2_800_034): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_4_04 (-2_800_035): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_5_01 (-2_800_036): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_5_02 (-2_800_037): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_5_03 (-2_800_038): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_6_01 (-2_800_039): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_6_02 (-2_800_040): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_6_03 (-2_800_041): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_7_01 (-2_800_042): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_7_02 (-2_800_043): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_7_03 (-2_800_044): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_7_04 (-2_800_045): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_7_05 (-2_800_046): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_4_7_06 (-2_800_047): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_01 (-2_800_048): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_02 (-2_800_049): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_03 (-2_800_050): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_04 (-2_800_051): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_05 (-2_800_052): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_06 (-2_800_053): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_07 (-2_800_054): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_08 (-2_800_055): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_09 (-2_800_056): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_10 (-2_800_057): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_11 (-2_800_058): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_12 (-2_800_059): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_13 (-2_800_060): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_14 (-2_800_061): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_15 (-2_800_062): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_16 (-2_800_063): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_17 (-2_800_064): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_18 (-2_800_065): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_19 (-2_800_066): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_5_0_20 (-2_800_067): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_01 (-2_800_068): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_02 (-2_800_069): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_03 (-2_800_070): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_04 (-2_800_071): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_05 (-2_800_072): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_06 (-2_800_073): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_07 (-2_800_074): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_08 (-2_800_075): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_6_1_09 (-2_800_076): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_01 (-2_800_077): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_02 (-2_800_078): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_03 (-2_800_079): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_04 (-2_800_080): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_05 (-2_800_081): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_06 (-2_800_082): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_07 (-2_800_083): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_08 (-2_800_084): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_CAL_7_0_09 (-2_800_085): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_01 (-2_800_086): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_02 (-2_800_087): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_03 (-2_800_088): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_04 (-2_800_089): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_05 (-2_800_090): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_06 (-2_800_091): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_07 (-2_800_092): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_08 (-2_800_093): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_09 (-2_800_094): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_10 (-2_800_095): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_11 (-2_800_096): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_12 (-2_800_097): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_13 (-2_800_098): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_14 (-2_800_099): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_15 (-28_000_100): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_16 (-28_000_101): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_17 (-28_000_102): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_18 (-28_000_103): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_1_0_19 (-28_000_104): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_01 (-28_000_105): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_02 (-28_000_106): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_03 (-28_000_107): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_04 (-28_000_108): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_05 (-28_000_109): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_07 (-28_000_110): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_08 (-28_000_111): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_09 (-28_000_112): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_10 (-28_000_113): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_11 (-28_000_114): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_12 (-28_000_115): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_13 (-28_000_116): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_14 (-28_000_117): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_15 (-28_000_118): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_16 (-28_000_119): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_17 (-28_000_120): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_2_0_18 (-28_000_121): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_01 (-28_000_122): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_02 (-28_000_123): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_03 (-28_000_124): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_04 (-28_000_125): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_05 (-28_000_126): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_06 (-28_000_127): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_07 (-28_000_128): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_08 (-28_000_129): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_09 (-28_000_130): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_10 (-28_000_131): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_11 (-28_000_132): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_12 (-28_000_133): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_13 (-28_000_134): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_3_0_14 (-28_000_135): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_1_01 (-28_000_136): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_1_02 (-28_000_137): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_1_03 (-28_000_138): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_1_04 (-28_000_139): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_01 (-28_000_140): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_02 (-28_000_141): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_03 (-28_000_142): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_04 (-28_000_143): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_05 (-28_000_144): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_06 (-28_000_145): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_2_07 (-28_000_146): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_01 (-28_000_147): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_02 (-28_000_148): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_03 (-28_000_149): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_04 (-28_000_150): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_05 (-28_000_151): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_06 (-28_000_152): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_07 (-28_000_153): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_3_08 (-28_000_154): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_01 (-28_000_155): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_02 (-28_000_156): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_03 (-28_000_157): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_04 (-28_000_158): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_05 (-28_000_159): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_06 (-28_000_160): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_4_07 (-28_000_161): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_01 (-28_000_162): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_02 (-28_000_163): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_03 (-28_000_164): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_04 (-28_000_165): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_05 (-28_000_166): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_06 (-28_000_167): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_07 (-28_000_168): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_08 (-28_000_169): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_5_09 (-28_000_170): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_6_01 (-28_000_171): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_6_02 (-28_000_172): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_6_03 (-28_000_173): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_7_01 (-28_000_174): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_7_02 (-28_000_175): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_7_03 (-28_000_176): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_4_7_04 (-28_000_177): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_01 (-28_000_178): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_02 (-28_000_179): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_03 (-28_000_180): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_04 (-28_000_181): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_05 (-28_000_182): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_06 (-28_000_183): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_07 (-28_000_184): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_08 (-28_000_185): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_09 (-28_000_186): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_10 (-28_000_187): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_11 (-28_000_188): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_5_0_12 (-28_000_189): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_01 (-28_000_190): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_02 (-28_000_191): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_03 (-28_000_192): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_04 (-28_000_193): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_05 (-28_000_194): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_06 (-28_000_195): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_1_08 (-28_000_196): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_01 (-28_000_197): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_02 (-28_000_198): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_03 (-28_000_199): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_04 (-28_000_200): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_05 (-28_000_201): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_06 (-28_000_202): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_2_07 (-28_000_203): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_01 (-28_000_204): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_02 (-28_000_205): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_03 (-28_000_206): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_04 (-28_000_207): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_05 (-28_000_208): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_06 (-28_000_209): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_07 (-28_000_210): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_08 (-28_000_211): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_09 (-28_000_212): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_10 (-28_000_213): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_11 (-28_000_214): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_6_3_12 (-28_000_215): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_01 (-28_000_216): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_02 (-28_000_217): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_03 (-28_000_218): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_04 (-28_000_219): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_05 (-28_000_220): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_06 (-28_000_221): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_07 (-28_000_222): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_08 (-28_000_223): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceFrame> JUICE_ROI_GAN_7_0_09 (-28_000_224): ('2020-01-01 00:00:00.000 TDB',
  '2100-01-01 00:00:00.000 TDB'),
 <SpiceRef> VENUS BARYCENTER (2): ('2022-08-31 00:01:09.182 TDB',
  '2031-06-02 00:01:09.184 TDB'),
 <SpiceRef> EARTH BARYCENTER (3): ('2022-08-31 00:01:09.182 TDB',
  '2031-06-02 00:01:09.184 TDB'),
 <SpiceRef> JUPITER BARYCENTER (5): ('2022-08-31 00:01:09.182 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceBody> SUN (10): ('2019-12-31 00:01:09.183 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceBody> VENUS (299): ('2022-08-31 00:01:09.182 TDB',
  '2031-06-02 00:01:09.184 TDB'),
 <SpiceBody> MOON (301): ('2022-08-31 00:01:09.182 TDB',
  '2031-06-02 00:01:09.184 TDB'),
 <SpiceBody> EARTH (399): ('2022-08-31 00:01:09.182 TDB',
  '2031-06-02 00:01:09.184 TDB'),
 <SpiceBody> GANYMEDE (503): ('2031-01-19 00:01:09.184 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceBody> CALLISTO (504): ('2032-05-31 00:01:09.184 TDB',
  '2034-07-01 00:01:09.184 TDB'),
 <SpiceBody> JUPITER (599): ('2022-08-31 00:01:09.182 TDB',
  '2035-06-03 00:01:09.184 TDB'),
 <SpiceRef> NEW_NORCIA (398_990): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> NEW_NORCIA_2 (398_991): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> PARKES (399_005): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-12 (399_012): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-13 (399_013): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-14 (399_014): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-15 (399_015): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-16 (399_016): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-17 (399_017): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-23 (399_023): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-24 (399_024): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-25 (399_025): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-26 (399_026): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-27 (399_027): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-28 (399_028): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-33 (399_033): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-34 (399_034): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-42 (399_042): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-43 (399_043): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-45 (399_045): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-46 (399_046): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-49 (399_049): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-53 (399_053): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-54 (399_054): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-55 (399_055): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-61 (399_061): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-63 (399_063): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-64 (399_064): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-65 (399_065): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> DSS-66 (399_066): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> KIRUNA1 (399_500): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> KOUROU (399_501): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> MASPALOMAS (399_502): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> PERTH (399_503): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> REDU (399_504): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> STA_MARIA (399_505): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> V_FRANCA (399_506): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> CEBREROS (399_508): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> MALINDI (399_509): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> SANTIAGO (399_510): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> SVALBARD (399_511): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> MALARGUE (399_512): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> KIRUNA2 (399_513): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB'),
 <SpiceRef> GOONHILLY (399_514): ('1950-01-01 00:00:00.000 TDB',
  '2050-01-01 00:00:00.000 TDB')}

Enable pool debugger#

If you need to debug the SPICE pool, you can increase the level of the verbose with the debug_spice_pool() function.

from planetary_coverage.debug import debug_spice_pool

debug_spice_pool(True)
[Spice Pool] Change logger level to DEBUG
SpicePool.add('naif0012.tls', purge=True)
[Spice Pool] Purge the pool
[Spice Pool] Add `naif0012.tls` in the SPICE pool
SpicePool.remove('naif0012.tls')
[Spice Pool] Remove naif0012.tls
SpicePool.purge()
[Spice Pool] Purge the pool

You can decrease the verbose level to INFO with an 'info' key:

debug_spice_pool('info')
[Spice Pool] Change logger level to INFO

Now only, the purge of the pool will trigger a log output:

SpicePool.add('naif0012.tls')
SpicePool.remove('naif0012.tls')
SpicePool.purge()
[Spice Pool] Purge the pool

To disable the SPICE pool verbose, pass a False key:

debug_spice_pool(False)