Unverified Commit d3f02a06 authored by acpaquette's avatar acpaquette Committed by GitHub
Browse files

Add Kaguyatc IsisLabel, Naifspice driver (#487)

* Made isis label spacecraft_clock_start/stop_counts handle keywords with units

* Add new kaguya isislabel naifspice driver

* Add test and test data for the new kaguya driver

* Fixes to kaguyami tests and updated kaguyatc tests

* Adds missing kernels for kaguyami test

* IsisLabelNaifSpice driver and IsisLabelIsisSpice driver now get the right exposure duration key

* Fixes for ISIS, CSM inconsistances

* Changed any sct2e call that converted the string to float to scs2e calls

* Fixed logging in isd_generate

* Fixes inconsistencies between kaguyaTC drivers

* Fixed tests

* Wrapped all spice functions in not hasattr checks

* Removed spacecraft_name override in IsisLabel NaifSpice driver

* Fixed up drivers and tests

* Fixed haiku like doc string descriptions
parent 92cd900b
Loading
Loading
Loading
Loading
+30 −14
Original line number Diff line number Diff line
@@ -170,14 +170,22 @@ class IsisLabel():
        : str
          Spacecraft clock start count
        """
        if not hasattr(self, "_clock_start_count"):
            if 'SpacecraftClockStartCount' in self.label['IsisCube']['Instrument']:
            return str(self.label['IsisCube']['Instrument']['SpacecraftClockStartCount'])
                self._clock_start_count = self.label['IsisCube']['Instrument']['SpacecraftClockStartCount']
            elif 'SpacecraftClockCount' in self.label['IsisCube']['Instrument']:
            return str(self.label['IsisCube']['Instrument']['SpacecraftClockCount'])
                self._clock_start_count = self.label['IsisCube']['Instrument']['SpacecraftClockCount']
            elif 'SpacecraftClockStartCount' in self.label['IsisCube']['Archive']:
            return str(self.label['IsisCube']['Archive']['SpacecraftClockStartCount'])
                self._clock_start_count = self.label['IsisCube']['Instrument']['SpacecraftClockStartCount']
            else:
            return None
                self._clock_start_count = None

            if isinstance(self._clock_start_count, pvl.Quantity):
                self._clock_start_count = self._clock_start_count.value

            self._clock_start_count = str(self._clock_start_count)

        return self._clock_start_count

    @property
    def spacecraft_clock_stop_count(self):
@@ -190,12 +198,20 @@ class IsisLabel():
        : str
          Spacecraft clock stop count
        """
        if not hasattr(self, "_clock_stop_count"):
            if 'SpacecraftClockStopCount' in self.label['IsisCube']['Instrument']:
            return self.label['IsisCube']['Instrument']['SpacecraftClockStopCount']
                self._clock_stop_count = self.label['IsisCube']['Instrument']['SpacecraftClockStopCount']
            elif 'SpacecraftClockStopCount' in self.label['IsisCube']['Archive']:
            return self.label['IsisCube']['Archive']['SpacecraftClockStopCount']
                self._clock_stop_count = self.label['IsisCube']['Archive']['SpacecraftClockStopCount']
            else:
            return None
                self._clock_stop_count = None

            if isinstance(self._clock_stop_count, pvl.Quantity):
                self._clock_stop_count = self._clock_stop_count.value

            self._clock_stop_count = str(self._clock_stop_count)

        return self._clock_stop_count

    @property
    def utc_start_time(self):
+416 −174

File changed.

Preview size limit exceeded, changes collapsed.

+5 −3
Original line number Diff line number Diff line
@@ -80,9 +80,9 @@ def main():
    )
    args = parser.parse_args()

    log_level = logging.WARNING
    if args.verbose:
    log_level = logging.INFO
    if args.verbose:
        log_level = logging.WARNING

    logging.basicConfig(format="%(message)s", level=log_level)
    logger.setLevel(log_level)
@@ -155,7 +155,9 @@ def file_to_isd(
    if kernels is not None:
        kernels = [str(PurePath(p)) for p in kernels]
        props["kernels"] = kernels
    usgscsm_str = ale.loads(file, props=props, verbose=log_level>=logging.INFO, only_isis_spice=only_isis_spice, only_naif_spice=only_naif_spice)
        usgscsm_str = ale.loads(file, props=props, verbose=log_level>logging.INFO, only_isis_spice=only_isis_spice, only_naif_spice=only_naif_spice)
    else:
        usgscsm_str = ale.loads(file, props=props, verbose=log_level>logging.INFO, only_isis_spice=only_isis_spice, only_naif_spice=only_naif_spice)

    logger.info(f"Writing: {isd_file}")
    isd_file.write_text(usgscsm_str)
+47 −19
Original line number Diff line number Diff line
@@ -5,8 +5,8 @@ DAFETF NAIF DAF ENCODED TRANSFER FILE
'SPKMERGE                                                    '
BEGIN_ARRAY 1 45
'DE-0421LE-0421                          '
'106224BBF61FD^8'
'106224CC3A3864^8'
'10622448F519AB^8'
'1062253E2B1DC3^8'
'12D'
'3'
'1'
@@ -60,8 +60,8 @@ BEGIN_ARRAY 1 45
END_ARRAY 1 45
BEGIN_ARRAY 2 39
'DE-0421LE-0421                          '
'106224BBF61FD^8'
'106224CC3A3864^8'
'10622448F519AB^8'
'1062253E2B1DC3^8'
'A'
'0'
'1'
@@ -109,8 +109,8 @@ BEGIN_ARRAY 2 39
END_ARRAY 2 39
BEGIN_ARRAY 3 45
'DE-0421LE-0421                          '
'106224BBF61FD^8'
'106224CC3A3864^8'
'10622448F519AB^8'
'1062253E2B1DC3^8'
'3'
'0'
'1'
@@ -162,15 +162,27 @@ BEGIN_ARRAY 3 45
'29^2'
'1^1'
END_ARRAY 3 45
BEGIN_ARRAY 4 86
BEGIN_ARRAY 4 114
'SPK_STATES_09                           '
'106224BBF61FD^8'
'106224CC3A3864^8'
'10622448F519AB^8'
'1062253E2B1DC3^8'
'-83'
'12D'
'1'
'9'
86
114
'-38D0633710EC68^3'
'181FBBA488FB2F^3'
'-6192605A37A598^3'
'-15DFE11D55749F^1'
'-9E17CE657378E^0'
'A00676FD544BE8^0'
'-3DDBE9918428A6^3'
'15C68454A993B2^3'
'-5F179F20C3B47C^3'
'-152A9BAEF783A^1'
'-A27AD466811D5^0'
'B26D6D35E5C7A^0'
'-42BB32A8A76BD8^3'
'135DB59F1D90BE^3'
'-5C58D33F1B0878^3'
@@ -243,6 +255,20 @@ BEGIN_ARRAY 4 86
'-8DF1C3F94BC29^0'
'-B178AEDFC4419^0'
'15A1B6FEB7C59C^1'
'-6B75CA770151FC^3'
'-BBA67B1173684^2'
'-2A398485CE5374^3'
'-79E33762749C08^0'
'-AF830F04851298^0'
'1628AEF312EF2C^1'
'-6D18C001BAF634^3'
'-E482555591BBF^2'
'-24F9B2ACC124B8^3'
'-65820EB7C95F74^0'
'-AD11E8557B27E^0'
'169FEF25AE68A2^1'
'106223152EB345^8'
'106223512EB345^8'
'1062238D2EB345^8'
'106223C92EB345^8'
'106224052EB345^8'
@@ -255,30 +281,32 @@ BEGIN_ARRAY 4 86
'106225A92EB344^8'
'106225E52EB344^8'
'106226212EB344^8'
'1062265D2EB344^8'
'106226992EB344^8'
'B^1'
'C^1'
END_ARRAY 4 86
'1^2'
END_ARRAY 4 114
TOTAL_ARRAYS 4
 ~NAIF/SPC BEGIN COMMENTS~
; /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_0.bsp LOG FILE
; ../sliced_kernels/MNA_2B2_01_04192S136E3573_isis3_0.bsp LOG FILE

; Created 2022-01-12/22:33:30.00.
; Created 2022-09-09/14:26:21.00.
;
; BEGIN SPKMERGE COMMANDS

LEAPSECONDS_KERNEL = /Volumes/pkgs/isis3/isis_data/base/kernels/lsk/naif0012.tls

SPK_KERNEL = /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_0.bsp
SPK_KERNEL           = ../sliced_kernels/MNA_2B2_01_04192S136E3573_isis3_0.bsp
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/tspk/de421.bsp
    INCLUDE_COMMENTS = NO
    BODIES           = 3, 10, 301
    BEGIN_TIME       = 2008 SEP 16 20:02:02.779
    END_TIME         = 2008 SEP 16 20:02:19.045
    BEGIN_TIME       = 2008 SEP 16 20:00:07.775
    END_TIME         = 2008 SEP 16 20:04:12.986
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/spk/SEL_M_071020_090610_SGMH_02.BSP
    INCLUDE_COMMENTS = NO
    BODIES           = -131
    BEGIN_TIME       = 2008 SEP 16 20:02:02.779
    END_TIME         = 2008 SEP 16 20:02:19.045
    BEGIN_TIME       = 2008 SEP 16 20:00:07.775
    END_TIME         = 2008 SEP 16 20:04:12.986

; END SPKMERGE COMMANDS
 ~NAIF/SPC END COMMENTS~
+47 −19
Original line number Diff line number Diff line
@@ -5,8 +5,8 @@ DAFETF NAIF DAF ENCODED TRANSFER FILE
'SPKMERGE                                                    '
BEGIN_ARRAY 1 45
'DE-0421LE-0421                          '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'1062263FAFB969^8'
'10622733EA179E^8'
'12D'
'3'
'1'
@@ -60,8 +60,8 @@ BEGIN_ARRAY 1 45
END_ARRAY 1 45
BEGIN_ARRAY 2 39
'DE-0421LE-0421                          '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'1062263FAFB969^8'
'10622733EA179E^8'
'A'
'0'
'1'
@@ -109,8 +109,8 @@ BEGIN_ARRAY 2 39
END_ARRAY 2 39
BEGIN_ARRAY 3 45
'DE-0421LE-0421                          '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'1062263FAFB969^8'
'10622733EA179E^8'
'3'
'0'
'1'
@@ -162,15 +162,27 @@ BEGIN_ARRAY 3 45
'29^2'
'1^1'
END_ARRAY 3 45
BEGIN_ARRAY 4 86
BEGIN_ARRAY 4 114
'SPK_STATES_09                           '
'106226B2B0BF8E^8'
'106226C1F9B55^8'
'1062263FAFB969^8'
'10622733EA179E^8'
'-83'
'12D'
'1'
'9'
86
114
'-5BA09539C49F8^3'
'405135C63FD49C^2'
'-46CA36A83504A4^3'
'-EB7E8FD3BAF6D^0'
'-B3DEF119258E48^0'
'122059676A4AA5^1'
'-5EF2CD9F40A128^3'
'161702C71C1811^2'
'-427209BC46D824^3'
'-D9DADE9C87DC9^0'
'-B462CCE85A17E8^0'
'12EFFD2694A74F^1'
'-6201C397B3B11C^3'
'-1433219E69454F^2'
'-3DEAC7F6760A7^3'
@@ -243,6 +255,20 @@ BEGIN_ARRAY 4 86
'187B001CF430DF^0'
'-94C005CCA8EB7^0'
'1813BAF466EB76^1'
'-6FFEDE888FBAAC^3'
'-1EAE52D63D3CD2^3'
'1C81BDA24E9538^2'
'2D931F9A80E36A^0'
'-8F2F60571D6C08^0'
'1816E08B5A49FF^1'
'-6F2C9965B27D7^3'
'-20BC3655C8787C^3'
'76C2E51F17BBE8^2'
'428B3A263C82E^0'
'-8939687798416^0'
'18090B51276929^1'
'106224F52EB345^8'
'106225312EB344^8'
'1062256D2EB344^8'
'106225A92EB344^8'
'106225E52EB344^8'
@@ -255,30 +281,32 @@ BEGIN_ARRAY 4 86
'106227892EB343^8'
'106227C52EB343^8'
'106228012EB343^8'
'1062283D2EB343^8'
'106228792EB343^8'
'B^1'
'C^1'
END_ARRAY 4 86
'1^2'
END_ARRAY 4 114
TOTAL_ARRAYS 4
 ~NAIF/SPC BEGIN COMMENTS~
; /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_1.bsp LOG FILE
; ../sliced_kernels/MNA_2B2_01_04192S136E3573_isis3_1.bsp LOG FILE

; Created 2022-01-12/22:33:34.00.
; Created 2022-09-09/14:26:24.00.
;
; BEGIN SPKMERGE COMMANDS

LEAPSECONDS_KERNEL = /Volumes/pkgs/isis3/isis_data/base/kernels/lsk/naif0012.tls

SPK_KERNEL = /users/arsanders/pds/kaguya_mi/out/MNA_2B2_01_04192S136E3573_1.bsp
SPK_KERNEL           = ../sliced_kernels/MNA_2B2_01_04192S136E3573_isis3_1.bsp
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/tspk/de421.bsp
    INCLUDE_COMMENTS = NO
    BODIES           = 3, 10, 301
    BEGIN_TIME       = 2008 SEP 16 20:10:25.508
    END_TIME         = 2008 SEP 16 20:10:40.793
    BEGIN_TIME       = 2008 SEP 16 20:08:30.504
    END_TIME         = 2008 SEP 16 20:12:34.732
SOURCE_SPK_KERNEL = /Volumes/pkgs/isis3/isis_data/kaguya/kernels/spk/SEL_M_071020_090610_SGMH_02.BSP
    INCLUDE_COMMENTS = NO
    BODIES           = -131
    BEGIN_TIME       = 2008 SEP 16 20:10:25.508
    END_TIME         = 2008 SEP 16 20:10:40.793
    BEGIN_TIME       = 2008 SEP 16 20:08:30.504
    END_TIME         = 2008 SEP 16 20:12:34.732

; END SPKMERGE COMMANDS
 ~NAIF/SPC END COMMENTS~
Loading