Skip to content
PL1

Metakernel with multiple remote in their header

Since December 2021, Bepi metakernels now have multiple remote links in their header:

   This file is used by the SPICE system as follows: programs that make use
   of this kernel must "load" the kernel normally during program
   initialization. Loading the kernel associates the data items with
   their names in a data structure called the "kernel pool". The SPICELIB
   routine FURNSH loads a kernel into the pool.

   The kernels listed below can be obtained from the ESA SPICE Web server:

      https://spiftp.esac.esa.int/data/SPICE/BEPICOLOMBO/kernels/

   or from the ESA SPICE FTP server:

      ftp://spiftp.esac.esa.int/data/SPICE/BEPICOLOMBO/kernels/

This rises an ValueError when these metakernels need to download the missing kernels:

ValueError: Multiple remote URL found: ['https://spiftp.esac.esa.int/data/SPICE/BEPICOLOMBO/kernels/', 'ftp://spiftp.esac.esa.int/data/SPICE/BEPICOLOMBO/kernels/']

This behavior was observed in the docs build recently.

Possible solution:

  1. Remove the ValueError check for multiple remote
  2. Use a priority system, eg. HTTPS > HTTP > FTP
  3. Discard FTP as a valid remote source

This change is likely to be re-observed in the next JUICE public release and need to be addressed before it appends.