Skip to content

Depreciate CReMA notation and add support for MK_IDENTIFIER

Benoit Seignovert requested to merge juice-obs-plan-mk into main

This merge request implement a new approach regarding ESA metakernel support in the tool. We depreciated the old CREMA denomination (that was not accurate for most of ESA missions). These changes significantly improve ESA missions metakernel support and prepare the way for JUICE plan and ops metakernels that should be released soon. It also implement the new MK_IDENTIFIER keyword that can be used to pin a metakernel version to use (not yet available).

Added

  • New ESA_MK metakernel collection
from moon_coverage import ESA_MK
ESA_MK
<EsaMetakernelsCollection> 16 missions:
 - BEPICOLOMBO / MPO / BEPICOLOMBO MPO / MERCURY PLANETARY ORBITER / ...
 - ENVISION
 - JUICE
 - ...

It supports mission shortcuts:

ESA_MK['JUICE']
<EsaMetakernels> mission: JUICE (doi:10.5270/esa-ybmj68p) | latest version: v400_20221021_001 | 15 metakernels:
 - juice_crema_5_1_150lb.tm
 - juice_crema_5_1_150la.tm
 - juice_crema_5_0b23_1.tm
 - juice_crema_5_0.tm
 - ...

and metakernel name query (with shortcuts):

ESA_MK['JUICE', 'juice_crema_5_0.tm']
ESA_MK['JUICE', 'juice_crema_5_0']
ESA_MK['JUICE', 'crema_5_0']
ESA_MK['JUICE', '5_0']
ESA_MK['JUICE', 5.0]

You can also provide an optional SKD version to pin the metakernel version:

ESA_MK['JUICE', 'juice_crema_5_0.tm', 'v400_20221021_001']
ESA_MK['JUICE', 'juice_crema_5_0.tm', 'v400']

or you can provide a MK_IDENTIFIER (that will be available in the future JUICE metakernel releases):

ESA_MK['JUICE', ESA_MK['JUICE', 'juice_crema_5_0_v400_20221021_001']

This new approach is also compatitble with all ESA missions and ESA spacecraft SPICE names:

ESA_MK['BEPICOLOMBO']
ESA_MK['MERCURY PLANETARY ORBITER']
ESA_MK['MPO']

These changes are compatible with TourConfig definition of the metakernels:

TourConfig(mk='plan', spacecraft='JUICE', target='Ganymede')

TourConfig(
    mk='juice_crema_5_1_150lb_v400_20221026_001',
    spacecraft='JUICE',
    target='Ganymede',
)

Old ESA_CREMAS and EsaCremasCollection are depreciated. UseESA_MK and EsaMetakernels instead.

Fixes

  • Rosetta metakernel support (fix #38 (closed)).
  • Minor documentation typos.

Other improvements:

  • Tests and support on Python new version 3.11.
  • Add support for interleaved comments and blank lines in CsvEventsFile events reader.
  • Add len/iter support in DepreciationHelper objects.
Edited by Benoit Seignovert

Merge request reports