Skip to content
Snippets Groups Projects
Commit 27d3d5a1 authored by acpaquette's avatar acpaquette Committed by Jesse Mapel
Browse files

Juno ISIS Driver (#290)

* Added initial juno driver

* Added test data for juno

* Added juno workspace notebook

* Updated starting ephemeris time based on isis implementation

* Added testing for juno and updated the sliced kernels

* Removed juno workspace notebook

* Reset kernel slicing notebook

* Reverted data_naif sun position

* Updated juno test with center ephem for sun

* Removed duplicate isis label

* Added doc strings to test
parent ecb0d808
Branches
Tags
No related merge requests found
Showing
with 11618 additions and 1 deletion
from ale import util
from ale.base.data_naif import NaifSpice
from ale.base.label_isis import IsisLabel
from ale.base.type_sensor import Framer
from ale.base.base import Driver
class JunoJunoCamIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver):
"""
Driver for reading Juno ISIS labels.
"""
@property
def instrument_id(self):
"""
Expects instrument_id to be defined in the IsisLabel mixin. This should be
a string of the form 'JNC'
Returns
-------
: str
instrument id
"""
look_up = {'JNC': 'JUNO_JUNOCAM'}
return look_up[super().instrument_id]
@property
def ephemeris_start_time(self):
"""
Junos camera is split into stacked frames where an image is made
of sets of RGBM chuncks. We need to account for these chuncks since
ISIS produces some number of cubes N where N = M*4.
Computation obtained from JunoCamera.cpp
Returns
-------
: double
Starting ephemeris time
"""
if not hasattr(self, '_ephemeris_start_time'):
initial_time = super().ephemeris_start_time
frame_number = self.label['IsisCube']['Instrument']['FrameNumber']
inter_frame_delay = self.label['IsisCube']['Instrument']['InterFrameDelay'].value
start_time_bias = self.naif_keywords[f'INS{self.ikid}_START_TIME_BIAS']
inter_frame_delay_bias = self.naif_keywords[f'INS{self.ikid}_INTERFRAME_DELTA']
self._ephemeris_start_time = initial_time + start_time_bias + (frame_number - 1) * (inter_frame_delay + inter_frame_delay_bias)
return self._ephemeris_start_time
@property
def sensor_model_version(self):
"""
Returns
-------
: int
ISIS sensor model version
"""
return 1
@property
def naif_keywords(self):
"""
Updated set of naif keywords containing the NaifIkCode for the specific
Juno filter used when taking the image.
Returns
-------
: dict
Dictionary of keywords and values that ISIS creates and attaches to the label
"""
filter_code = self.label['IsisCube']['BandBin']['NaifIkCode']
return {**super().naif_keywords, **util.query_kernel_pool(f"*{filter_code}*")}
...@@ -6,7 +6,7 @@ from ale.base.label_isis import IsisLabel ...@@ -6,7 +6,7 @@ from ale.base.label_isis import IsisLabel
from ale.base.type_sensor import Framer from ale.base.type_sensor import Framer
from ale.base.base import Driver from ale.base.base import Driver
class VoyagerCameraLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver): class VoyagerCameraIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver):
@property @property
def instrument_id(self): def instrument_id(self):
......
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 72
'JUP310 '
'1F535FF6DA8BB1^8'
'1F536054A0B08D^8'
'257'
'5'
'1'
'3'
72
'1F53948^8'
'A8C^4'
'4EC3FA6006F998^1'
'-2E02E6E84228E^2'
'-C61FDA2C6C5E^1'
'-D41EBFFB80EFA^0'
'DEB9DE317F9908^0'
'E39378A1F2DAC^-1'
'-5F52318A0A22^-1'
'-655E785634DC^-2'
'17440DAE74B^-2'
'21FF9506AF4^-3'
'-5E2927EA6678^-4'
'9AAB03810C4CB8^2'
'1306CF0D446674^2'
'-11539566F110A^1'
'-37EF53606CF55E^1'
'-3EE1A3E021164^0'
'23DA47B06C976C^0'
'24770B4737A4^-1'
'-B205CE7E23EC^-2'
'-DF93886E38^-3'
'261733FDD8E^-3'
'38B451EF^-4'
'499B464726284^2'
'86F8E9A7299CB8^1'
'-BCEA20FA1F24C^0'
'-1AE95CBBC9270E^1'
'-1A49F1CC309E4^0'
'114FAA4ECCAA32^0'
'FD4124318DE^-2'
'-566597968ACE^-2'
'-64AB55F72B^-3'
'12A375B11EF^-3'
'19E0E3F99F7^-4'
'-492A9DD1C8023C^-2'
'-40FF3235F76D5C^-2'
'-6BB2BFDCCF91A^-3'
'A24C7074138C18^-3'
'CF97B4ABAA27F8^-4'
'-6A4AB6110EF8D^-4'
'-82EE76CF0410B^-5'
'2298FF389A436^-5'
'3A061D0ED258BE^-6'
'-B28E8494AB8E38^-7'
'0^0'
'DFCD60866FCE8^-3'
'-965316EB528D6^-3'
'-1DC0B8F97CD092^-2'
'-2D2F4FA4C147F6^-3'
'21161FA3D30358^-3'
'2830C0AF0A84BE^-4'
'-E83EE15193CF1^-5'
'-14C73F875A4382^-5'
'41020DA3944444^-6'
'6B873E73AC901C^-7'
'0^0'
'5A44629140D18^-3'
'-5A7FC755B27E^-3'
'-E4FB539A1971^-3'
'-12D9FE5607C568^-3'
'FF92DF472C19^-4'
'116CB46BF6DFB3^-4'
'-70B21995759D34^-5'
'-95A6E610F08458^-6'
'1FCF4A9145DDDD^-6'
'3112C15FFEEEEE^-7'
'0^0'
'1F52EBC^8'
'1518^5'
'44^2'
'1^1'
END_ARRAY 1 72
BEGIN_ARRAY 2 30
'MONTE Chebyshev Polynomial Table '
'1F535FF6DA8BB1^8'
'1F536054A0B08D^8'
'5'
'0'
'1'
'2'
30
'1F59834^8'
'1518^6'
'-308692E9C6B6E^8'
'3C613A9C65CB8^5'
'1746EE0BF8AF3F^5'
'-10526F1168D01B^2'
'-CB906CA5F9F05^0'
'14BD47EC2F88CA^-2'
'-62698745E9C02C^-5'
'-1972017DFBE17A^-5'
'-18F8BE20B948DF^7'
'-F13834480E26D8^6'
'C240922EB6961^3'
'1343DFDF5D7092^3'
'-14DEFBAA02310E^0'
'-4250B465CF91C4^-2'
'EE17FDC6C0F778^-6'
'8996B72D9D29C8^-6'
'8300DBBE487F^6'
'-677C11340BDA1^6'
'-3DCC453C55DFBE^3'
'8484E267537CD8^2'
'-3FD547ADBC70EA^-1'
'-1CE630F0ECFF53^-2'
'4F293F3D8D886C^-6'
'429411D6DD5908^-6'
'1F446B4^8'
'2A3^6'
'1A^2'
'1^1'
END_ARRAY 2 30
BEGIN_ARRAY 3 39
'MONTE Chebyshev Polynomial Table '
'1F535FF6DA8BB1^8'
'1F536054A0B08D^8'
'A'
'0'
'1'
'2'
39
'1F4EF74^8'
'A8C^5'
'8591647C49BFB8^5'
'-718BCC33F9120C^3'
'-1838783F05EEBD^2'
'1DD8AB4B1944BB^0'
'E676B019EED4A^-2'
'22554B8B725D64^-3'
'-1B992690098731^-4'
'-52B16D4FBD11B^-5'
'-C79BE54FE8FEE8^-6'
'-165A5443638274^-6'
'-1BCF580A057C5D^-7'
'6892D0FEE180F4^5'
'1DD098FFC246F9^4'
'-5111ADC974962C^1'
'-19AF72F1D266FA^0'
'BE036ADB1C116^-2'
'8DFEE95B117AB8^-3'
'8E3DF83A6DD15^-4'
'7D4D26B22DB48C^-5'
'8E5B3F32E0A1E8^-6'
'50F03357DA17D8^-8'
'-972844043CE2E^-8'
'26E7F2D9710E14^5'
'D116F7B2647608^3'
'-17912763450FE^1'
'-D56CAD9A710938^-1'
'473C176DCDBD64^-2'
'411D24882F63D8^-3'
'4F54076C607AEC^-4'
'4C13520B82B154^-5'
'60BB5D19BF71FC^-6'
'288DB3FF4C1B3C^-7'
'-226A170E103AB^-8'
'1F446B4^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 3 39
BEGIN_ARRAY 4 73
'MONTE Difference Line Table '
'1F535FF6DA8BB1^8'
'1F536054A0B08D^8'
'-3D'
'5'
'1'
'1'
73
'1F536EC21F395^8'
'1BEA8510E0CCA^3'
'37D50A21C1994^3'
'53BF8F32A265E^3'
'6FAA144383328^3'
'8B94995463FF2^3'
'A77F1E6544CBC^3'
'C369A37625986^3'
'DF5428870665^3'
'F2EF6337ED522^3'
'1068A9DE8D43F4^4'
'11A25D899BB2C6^4'
'12DC1134AA2198^4'
'1415C4DFB8906A^4'
'16892C35D56E0E^4'
'0^0'
'-1A5B6BE5E92AFC^4'
'67B6CD961BF56C^0'
'-57157914203DF^5'
'18ED4C36EC9D0C^2'
'24163448FD87F2^5'
'1D7D0AF4203743^1'
'F99CCC97D2ED^-4'
'C20E0C70BF40E^-5'
'F0D619D9F41AC^-6'
'18D922B20C3182^-6'
'32162204FB4D9^-7'
'7517A63683F32^-8'
'13248C3DE7B10C^-8'
'36714BD18696C8^-9'
'A3E140A06F822^-A'
'1EC0D04DB56799^-A'
'57E06855083BFC^-B'
'D2F0B4D7ECE7F^-C'
'B9D924A578259^-D'
'-A9BC8^-D'
'-5A8A5D1952EFCC^-D'
'335C9C9846F04E^-2'
'248CC525D95E5^-3'
'29D84C328F65B^-4'
'3F63B4F0C4D084^-5'
'737A00AE850D54^-6'
'ED0567D1470D3^-7'
'2033230A8468E2^-7'
'4374037FFBD844^-8'
'65A7BEE7946A58^-9'
'-AA564069603068^-A'
'-BAFA248BB75B9^-A'
'-582CA1A80D100C^-A'
'-2345B41781F44C^-A'
'-D6DC4978F6263^-B'
'-53E66^-B'
'-154F7BD165DDB9^-2'
'-1ACC4734DA3727^-3'
'-2BC9B768C73CA4^-4'
'-595782F15F1194^-5'
'-D8F49897058278^-6'
'-25DEBA17B11F4E^-6'
'-76AE1E201F2788^-7'
'-199C749A4B0F96^-7'
'-60117C26ECC9F8^-8'
'-17970A02B32089^-8'
'-60B3B31A8EBA84^-9'
'-19C166B479E244^-9'
'-71B0B4FCE3B628^-A'
'-206337D3A1CC36^-A'
'-9F672^-B'
'F^1'
'E^1'
'E^1'
'E^1'
'1F536EC21F3951^8'
'1^1'
END_ARRAY 4 73
TOTAL_ARRAYS 4
~NAIF/SPC BEGIN COMMENTS~
; /home/acpaquette/kernel_split/JNCR_2016240_01M06152_V01_METHANE_0008_0.bsp LOG FILE
; Created 2019-10-01/10:52:26.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /home/acpaquette/kernel_split/JNCR_2016240_01M06152_V01_METHANE_0008_0.bsp
SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/juno/kernels/spk/juno_rec_160729_160923_161027.bsp
INCLUDE_COMMENTS = NO
BODIES = -61, 5, 10, 599
BEGIN_TIME = 2016 AUG 27 08:14:42.671
END_TIME = 2016 AUG 27 08:16:16.445
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/SPK '
'2'
'6'
'SPKMERGE '
BEGIN_ARRAY 1 72
'JUP310 '
'1F536A9606D561^8'
'1F536AF1F25A8^8'
'257'
'5'
'1'
'3'
72
'1F53948^8'
'A8C^4'
'4EC3FA6006F998^1'
'-2E02E6E84228E^2'
'-C61FDA2C6C5E^1'
'-D41EBFFB80EFA^0'
'DEB9DE317F9908^0'
'E39378A1F2DAC^-1'
'-5F52318A0A22^-1'
'-655E785634DC^-2'
'17440DAE74B^-2'
'21FF9506AF4^-3'
'-5E2927EA6678^-4'
'9AAB03810C4CB8^2'
'1306CF0D446674^2'
'-11539566F110A^1'
'-37EF53606CF55E^1'
'-3EE1A3E021164^0'
'23DA47B06C976C^0'
'24770B4737A4^-1'
'-B205CE7E23EC^-2'
'-DF93886E38^-3'
'261733FDD8E^-3'
'38B451EF^-4'
'499B464726284^2'
'86F8E9A7299CB8^1'
'-BCEA20FA1F24C^0'
'-1AE95CBBC9270E^1'
'-1A49F1CC309E4^0'
'114FAA4ECCAA32^0'
'FD4124318DE^-2'
'-566597968ACE^-2'
'-64AB55F72B^-3'
'12A375B11EF^-3'
'19E0E3F99F7^-4'
'-492A9DD1C8023C^-2'
'-40FF3235F76D5C^-2'
'-6BB2BFDCCF91A^-3'
'A24C7074138C18^-3'
'CF97B4ABAA27F8^-4'
'-6A4AB6110EF8D^-4'
'-82EE76CF0410B^-5'
'2298FF389A436^-5'
'3A061D0ED258BE^-6'
'-B28E8494AB8E38^-7'
'0^0'
'DFCD60866FCE8^-3'
'-965316EB528D6^-3'
'-1DC0B8F97CD092^-2'
'-2D2F4FA4C147F6^-3'
'21161FA3D30358^-3'
'2830C0AF0A84BE^-4'
'-E83EE15193CF1^-5'
'-14C73F875A4382^-5'
'41020DA3944444^-6'
'6B873E73AC901C^-7'
'0^0'
'5A44629140D18^-3'
'-5A7FC755B27E^-3'
'-E4FB539A1971^-3'
'-12D9FE5607C568^-3'
'FF92DF472C19^-4'
'116CB46BF6DFB3^-4'
'-70B21995759D34^-5'
'-95A6E610F08458^-6'
'1FCF4A9145DDDD^-6'
'3112C15FFEEEEE^-7'
'0^0'
'1F52EBC^8'
'1518^5'
'44^2'
'1^1'
END_ARRAY 1 72
BEGIN_ARRAY 2 30
'MONTE Chebyshev Polynomial Table '
'1F536A9606D561^8'
'1F536AF1F25A8^8'
'5'
'0'
'1'
'2'
30
'1F59834^8'
'1518^6'
'-308692E9C6B6E^8'
'3C613A9C65CB8^5'
'1746EE0BF8AF3F^5'
'-10526F1168D01B^2'
'-CB906CA5F9F05^0'
'14BD47EC2F88CA^-2'
'-62698745E9C02C^-5'
'-1972017DFBE17A^-5'
'-18F8BE20B948DF^7'
'-F13834480E26D8^6'
'C240922EB6961^3'
'1343DFDF5D7092^3'
'-14DEFBAA02310E^0'
'-4250B465CF91C4^-2'
'EE17FDC6C0F778^-6'
'8996B72D9D29C8^-6'
'8300DBBE487F^6'
'-677C11340BDA1^6'
'-3DCC453C55DFBE^3'
'8484E267537CD8^2'
'-3FD547ADBC70EA^-1'
'-1CE630F0ECFF53^-2'
'4F293F3D8D886C^-6'
'429411D6DD5908^-6'
'1F446B4^8'
'2A3^6'
'1A^2'
'1^1'
END_ARRAY 2 30
BEGIN_ARRAY 3 39
'MONTE Chebyshev Polynomial Table '
'1F536A9606D561^8'
'1F536AF1F25A8^8'
'A'
'0'
'1'
'2'
39
'1F4EF74^8'
'A8C^5'
'8591647C49BFB8^5'
'-718BCC33F9120C^3'
'-1838783F05EEBD^2'
'1DD8AB4B1944BB^0'
'E676B019EED4A^-2'
'22554B8B725D64^-3'
'-1B992690098731^-4'
'-52B16D4FBD11B^-5'
'-C79BE54FE8FEE8^-6'
'-165A5443638274^-6'
'-1BCF580A057C5D^-7'
'6892D0FEE180F4^5'
'1DD098FFC246F9^4'
'-5111ADC974962C^1'
'-19AF72F1D266FA^0'
'BE036ADB1C116^-2'
'8DFEE95B117AB8^-3'
'8E3DF83A6DD15^-4'
'7D4D26B22DB48C^-5'
'8E5B3F32E0A1E8^-6'
'50F03357DA17D8^-8'
'-972844043CE2E^-8'
'26E7F2D9710E14^5'
'D116F7B2647608^3'
'-17912763450FE^1'
'-D56CAD9A710938^-1'
'473C176DCDBD64^-2'
'411D24882F63D8^-3'
'4F54076C607AEC^-4'
'4C13520B82B154^-5'
'60BB5D19BF71FC^-6'
'288DB3FF4C1B3C^-7'
'-226A170E103AB^-8'
'1F446B4^8'
'1518^6'
'23^2'
'1^1'
END_ARRAY 3 39
BEGIN_ARRAY 4 73
'MONTE Difference Line Table '
'1F536A9606D561^8'
'1F536AF1F25A8^8'
'-3D'
'5'
'1'
'1'
73
'1F536EC21F395^8'
'1BEA8510E0CCA^3'
'37D50A21C1994^3'
'53BF8F32A265E^3'
'6FAA144383328^3'
'8B94995463FF2^3'
'A77F1E6544CBC^3'
'C369A37625986^3'
'DF5428870665^3'
'F2EF6337ED522^3'
'1068A9DE8D43F4^4'
'11A25D899BB2C6^4'
'12DC1134AA2198^4'
'1415C4DFB8906A^4'
'16892C35D56E0E^4'
'0^0'
'-1A5B6BE5E92AFC^4'
'67B6CD961BF56C^0'
'-57157914203DF^5'
'18ED4C36EC9D0C^2'
'24163448FD87F2^5'
'1D7D0AF4203743^1'
'F99CCC97D2ED^-4'
'C20E0C70BF40E^-5'
'F0D619D9F41AC^-6'
'18D922B20C3182^-6'
'32162204FB4D9^-7'
'7517A63683F32^-8'
'13248C3DE7B10C^-8'
'36714BD18696C8^-9'
'A3E140A06F822^-A'
'1EC0D04DB56799^-A'
'57E06855083BFC^-B'
'D2F0B4D7ECE7F^-C'
'B9D924A578259^-D'
'-A9BC8^-D'
'-5A8A5D1952EFCC^-D'
'335C9C9846F04E^-2'
'248CC525D95E5^-3'
'29D84C328F65B^-4'
'3F63B4F0C4D084^-5'
'737A00AE850D54^-6'
'ED0567D1470D3^-7'
'2033230A8468E2^-7'
'4374037FFBD844^-8'
'65A7BEE7946A58^-9'
'-AA564069603068^-A'
'-BAFA248BB75B9^-A'
'-582CA1A80D100C^-A'
'-2345B41781F44C^-A'
'-D6DC4978F6263^-B'
'-53E66^-B'
'-154F7BD165DDB9^-2'
'-1ACC4734DA3727^-3'
'-2BC9B768C73CA4^-4'
'-595782F15F1194^-5'
'-D8F49897058278^-6'
'-25DEBA17B11F4E^-6'
'-76AE1E201F2788^-7'
'-199C749A4B0F96^-7'
'-60117C26ECC9F8^-8'
'-17970A02B32089^-8'
'-60B3B31A8EBA84^-9'
'-19C166B479E244^-9'
'-71B0B4FCE3B628^-A'
'-206337D3A1CC36^-A'
'-9F672^-B'
'F^1'
'E^1'
'E^1'
'E^1'
'1F536EC21F3951^8'
'1^1'
END_ARRAY 4 73
TOTAL_ARRAYS 4
~NAIF/SPC BEGIN COMMENTS~
; /home/acpaquette/kernel_split/JNCR_2016240_01M06152_V01_METHANE_0008_1.bsp LOG FILE
; Created 2019-10-01/10:52:27.00.
;
; BEGIN SPKMERGE COMMANDS
LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls
SPK_KERNEL = /home/acpaquette/kernel_split/JNCR_2016240_01M06152_V01_METHANE_0008_1.bsp
SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/juno/kernels/spk/juno_rec_160729_160923_161027.bsp
INCLUDE_COMMENTS = NO
BODIES = -61, 5, 10, 599
BEGIN_TIME = 2016 AUG 27 09:00:01.844
END_TIME = 2016 AUG 27 09:01:33.764
; END SPKMERGE COMMANDS
~NAIF/SPC END COMMENTS~
Object = IsisCube
Object = Core
StartByte = 65537
Format = Tile
TileSamples = 824
TileLines = 128
Group = Dimensions
Samples = 1648
Lines = 128
Bands = 1
End_Group
Group = Pixels
Type = SignedWord
ByteOrder = Lsb
Base = 0.0
Multiplier = 1.0
End_Group
End_Object
Group = Instrument
SpacecraftName = JUNO
InstrumentHostId = UNKNOWN
InstrumentName = "JUNO EPO CAMERA"
InstrumentId = JNC
TargetName = JUPITER
# Start time for the entire observation, i.e. start time for FrameNumber 1.
StartTime = 2016-08-27T09:00:04.129
# Start count for the entire observation, i.e. start count for FrameNumber 1.
SpacecraftClockStartCount = 525560580:87
ExposureDuration = 204.800000 <ms>
InterFrameDelay = 0.378 <s>
SummingMode = 1
NumberFramelets = 12
FrameNumber = 8
End_Group
Group = Archive
MissionPhase = "SCIENCE ORBITS"
OrbitNumber = 1
FocalPlaneTemperature = 273.0 <K>
TDICount = 64
CompressionType = "INTEGER COSINE TRANSFORM"
YearDoy = 2016240
SourceProductId = JNCR_2016240_01M06152_V01
End_Group
Group = BandBin
FilterName = METHANE
NaifIkCode = -61504
End_Group
Group = Kernels
NaifFrameCode = -61500
End_Group
End_Object
Object = Label
Bytes = 65536
End_Object
Object = History
Name = IsisCube
StartByte = 487425
Bytes = 533
End_Object
Object = OriginalLabel
Name = IsisCube
StartByte = 487958
Bytes = 17903
End_Object
End
This diff is collapsed.
\begintext
The instrument addendum kernel for JUNO's JNC camera (JunoCam).
history 2017-08-01 Jeannie Backer - Original version.
2017-08-10 Kris Becker - Updated parameters per an email from M. Caplinger
received on June 20, 2017
2017-08-15 Jesse Mapel - Removed duplicated keywords from juno_v12.tf and
juno_junocam_v02.ti
2018-05-14 Jesse Mapel - Changed filter offsets to match code from M Caplinger.
negate k value (per gerard post)
\begindata
INS-61500_PIXEL_PITCH = 0.0074
INS-61500_FOCAL_LENGTH = 10.95637
INS-61500_BORESIGHT_LINE = 600
INS-61500_BORESIGHT_SAMPLE = 814.21
INS-61500_FILTER_OFFSET = 1
INS-61500_FILTER_LINES = 1200
INS-61500_FILTER_SAMPLES = 1648
INS-61500_FILTER_NAME = 'FULLCCD'
\begintext
Ensure this section provides all the necessary parameters
for the PushFrameCameraCcdLayout class to provide framelet
parameters for full ccd mapping.
The order of the filters on the CCD, from top to bottom is
METHANE (-61504), BLUE (-61501), GREEN (-61502), RED (-61503)
\begindata
INS-61504_FILTER_NAME = 'METHANE'
INS-61504_FILTER_OFFSET = 284.52
INS-61504_FILTER_LINES = 128
INS-61504_FILTER_SAMPLES = 1648
INS-61501_FILTER_NAME = 'BLUE'
INS-61501_FILTER_OFFSET = 441.52
INS-61501_FILTER_LINES = 128
INS-61501_FILTER_SAMPLES = 1648
INS-61502_FILTER_NAME = 'GREEN'
INS-61502_FILTER_OFFSET = 596.52
INS-61502_FILTER_LINES = 128
INS-61502_FILTER_SAMPLES = 1648
INS-61503_FILTER_NAME = 'RED'
INS-61503_FILTER_OFFSET = 751.52
INS-61503_FILTER_LINES = 128
INS-61503_FILTER_SAMPLES = 1648
\begintext
Calculated transformation and inverse transfromation vectors using pixel pitch and 1/pixel pitch
\begindata
INS-61500_TRANSX = (0.0000, 0.0074, 0.0000)
INS-61500_TRANSY = (0.0000, 0.0000, 0.0074)
INS-61500_ITRANSS = (0.0000, 135.1351, 0.0000)
INS-61500_ITRANSL = (0.0000, 0.0000, 135.1351)
\begintext
Turn off surface correction adjustment for now (KJB - 2017-08-10)
\begindata
INS-61500_SWAP_OBSERVER_TARGET = 'TRUE'
INS-61500_LIGHTTIME_CORRECTION = 'NONE'
INS-61500_LT_SURFACE_CORRECT = 'FALSE'
KPL/IK
\beginlabel
PDS_VERSION_ID = PDS3
RECORD_TYPE = STREAM
RECORD_BYTES = "N/A"
^SPICE_KERNEL = "juno_junocam_v03.ti"
MISSION_NAME = JUNO
SPACECRAFT_NAME = JUNO
DATA_SET_ID = "JNO-J/E/SS-SPICE-6-V1.0"
KERNEL_TYPE_ID = IK
PRODUCT_ID = "juno_junocam_v03.ti"
PRODUCT_CREATION_TIME = 2019-09-04T10:44:03
PRODUCER_ID = "NAIF/JPL"
MISSION_PHASE_NAME = "N/A"
PRODUCT_VERSION_TYPE = ACTUAL
PLATFORM_OR_MOUNTING_NAME = "JUNO SPACECRAFT"
START_TIME = "N/A"
STOP_TIME = "N/A"
SPACECRAFT_CLOCK_START_COUNT = "N/A"
SPACECRAFT_CLOCK_STOP_COUNT = "N/A"
TARGET_NAME = JUPITER
INSTRUMENT_NAME = "JUNO EPO CAMERA"
NAIF_INSTRUMENT_ID = {
-61504,
-61503,
-61502,
-61501,
-61500
}
SOURCE_PRODUCT_ID = "N/A"
NOTE = "See comments in the file for details"
OBJECT = SPICE_KERNEL
INTERCHANGE_FORMAT = ASCII
KERNEL_TYPE = INSTRUMENT
DESCRIPTION = "SPICE IK file providing FOV definitions and
other instrument parameters for the JUNO EPO Camera (JUNOCAM) instrument,
created by NAIF, JPL. "
END_OBJECT = SPICE_KERNEL
\endlabel
Juno JUNOCAM Instrument Kernel
===============================================================================
This Instrument Kernel (IK) file contains optics and detector
parameters and FOV definitions for the JUNO Camera (JUNOCAM)
instrument.
Version and Date
-------------------------------------------------------------------------------
Version 0.3 -- August 7, 2019 -- Boris Semenov, NAIF
Updated FOVs to use vectors computed using distortion models.
Version 0.2 -- August 3, 2017 -- Boris Semenov, NAIF
Updated most sections based on [8].
Version 0.1 -- September 29, 2016 -- Boris Semenov, NAIF
Updated based on [5].
Version 0.0 -- June 9, 2009 -- Boris Semenov, NAIF
Initial Release.
References
-------------------------------------------------------------------------------
1. Kernel Pool Required Reading
2. GETFOV, getfoc_c, cspice_getfov headers
3. JUNO FK file, latest version
4. JUNOCAM CDR Presentations
5. E-mail from Mike Caplinger, MSSS re actual JUNOCAM parameters,
09/19/16.
6. C.J. Hansen, et al, "Junocam: Juno~s Outreach Camera", Space Sci Rev,
DOI 10.1007/s11214-014-0079-x
7. http://www.msss.com/all_projects/junocam.php, accessed 09/29/16
8. E-mail from Mike Caplinger, MSSS re updated Junocam camera model,
06/20/17
Contact Information
-------------------------------------------------------------------------------
Boris V. Semenov, NAIF/JPL, (818)-354-8136, Boris.Semenov@jpl.nasa.gov
Implementation Notes
-------------------------------------------------------------------------------
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. The SPICE routine FURNSH loads a kernel file into
the pool as shown below.
CALL FURNSH ( 'frame_kernel_name; ) -- FORTRAN
furnsh_c ( "frame_kernel_name" ); -- C
cspice_furnsh, frame_kernel_name -- IDL
cspice_furnsh( 'frame_kernel_name' ) -- MATLAB
Once the file has been loaded, the SPICE routine GETFOV (getfov_c in
C, cspice_getfov in IDL and MATLAB) can be used to retrieve FOV
parameters for a given instrument or structure.
This file was created and may be updated with a text editor or word
processor.
Naming Conventions
----------------------------------------------------------
All names referencing values in this IK file start with the
characters `INS' followed by the NAIF JUNO spacecraft ID number
(-61) followed by a NAIF three digit ID code for the camera or one
of its spectral bands. This is the full list of names and IDs for
the camera and spectral bands described by this IK file:
JUNO_JUNOCAM_METHANE -61504
JUNO_JUNOCAM_BLUE -61501
JUNO_JUNOCAM -61500
JUNO_JUNOCAM_GREEN -61502
JUNO_JUNOCAM_RED -61503
The remainder of the keyword name is an underscore character
followed by the unique name of the data item. For example, the
JUNOCAM "blue" band boresight direction in the JUNO_JUNOCAM frame is
specified by:
INS-61501_BORESIGHT
The upper bound on the length of the name of any data item is 32
characters.
If the same item is included in more than one file, or if the same
item appears more than once within a single file, the latest value
supersedes any earlier values.
Instrument Description
---------------------------------------------------------
From [7]:
Junocam will acquire 3-color (red, green, blue) images of Jupiter
during Juno's first seven orbits around the giant planet. The
data will be processed and studied by students as part of the
Juno Education and Public Outreach effort.
The camera, derived from the MSL MARDI instrument, is designed to
acquire red-, green- and blue-wavelength images of Jupiter's
polar regions and lower-latitude cloud tops during Juno's first
seven orbits around the planet. These images, of approximately 15
kilometers (9.3 miles) per pixel resolution, will be used by
students to create the first color images of the jovian poles, as
well as high resolution views of lower-latitude cloud belts.
After the required, seven orbit design life, Junocam will
continue to operate as long as possible in the harsh jovian
radiation environment.
For a detailed description see [6]
Mounting Alignment
--------------------------------------------------------
Refer to the latest version of the Juno Frames Definition Kernel
(FK) [3] for the JUNOCAM frame definitions and mounting alignment
information.
Apparent FOV Layout
--------------------------------------------------------
The diagram below illustrates the nominal JUNOCAM camera FOV/CCD
layout:
--- 0,0--------------------------------------------.
5 deg | METHANE 128 pix * | --------
--- `-----------------------------------------1648,128 | 245 pixels
|
--- 0,0--------------------------------------------. |
5 deg | BLUE 128 pix * | | ---
--- `-----------------------------------------1648,128 | |80 pixels
+Zjc x-------------> +Xjc --- ---
--- 0,0---------------------|----------------------. | |75 pixels
5 deg | GREEN 128 pix * | | ---
--- `----------------------|------------------1648,128 |
| |
--- 0,0---------------------|----------------------. | 230 pixels
5 deg | RED 128 pix * | --------
--- `----------------------|------------------1648,128
|
V +Yjc
| 58 deg | Boresight
|---------------------------------------------| (+Zjc axis)
| | is into
the page
Note 1: In addition to photoactive pixels the sensor has dark and
overscan columns that are present in all 1648 pixels wide Junocam
images. There are 23 dark pixels at the start of each line,
followed by 1608 photoactive pixels and additional dark, isolation,
and overscan/dummy pixels for a total of 1648 pixels per line.
Note 2: the angular dimensions above are nominal. The actual extents
of the photoactive pixel areas vary due to optical distortion and,
depending on a band, are between ~4.90 and ~5.05 deg in the YZ
direction and between ~57.5 and ~58.5 deg in the XZ direction.
Optical and Detector Parameters
--------------------------------------------------------
This section provides two parameters that, in combination with the
optical distortion and filter parameters, are needed to compute the
view directions of the individual CCD pixels. These parameters are
the focal length and pixel size, both given in millimeters.
\begindata
INS-61504_FOCAL_LENGTH = ( 10.95637 )
INS-61504_PIXEL_SIZE = ( 0.0074 )
INS-61501_FOCAL_LENGTH = ( 10.95637 )
INS-61501_PIXEL_SIZE = ( 0.0074 )
INS-61500_FOCAL_LENGTH = ( 10.95637 )
INS-61500_PIXEL_SIZE = ( 0.0074 )
INS-61502_FOCAL_LENGTH = ( 10.95637 )
INS-61502_PIXEL_SIZE = ( 0.0074 )
INS-61503_FOCAL_LENGTH = ( 10.95637 )
INS-61503_PIXEL_SIZE = ( 0.0074 )
\begintext
FOV Definition
--------------------------------------------------------
This section contains definitions of the JUNOCAM band and total
FOVs.
All FOVs are defined as (nearly) rectangular pyramids using boundary
vectors computed using the distortion model in the "Optical
Distortion" section below for pixels (23.5,0.5), (23.5,127.5),
(1630.5,127.5), and (1630.5,0.5) and using the boresight computed
for the pixel (827.0,64.0). They are provided for visualization
purposes, do not represent the geometry of the actual FOV sides, and
are not intended for quantitative analysis.
The total FOV (ID -61500), spanning from the METHANE top edge to the
RED bottom edge through all band boundary vectors, with the
boresight set to be exactly along the the JUNO_JUNOCAM frame +Z
axis, is defined as a polygon and provided solely for convenience.
\begindata
INS-61504_FOV_FRAME = 'JUNO_JUNOCAM'
INS-61504_FOV_SHAPE = 'RECTANGLE'
INS-61504_BORESIGHT = (
0.00854687, -0.16805056, 0.98574133
)
INS-61504_FOV_BOUNDARY_CORNERS = (
-0.47351727, -0.18862601, 0.86034971
-0.47852984, -0.11376363, 0.87067045
0.49067337, -0.11299511, 0.86398596
0.48553839, -0.18735362, 0.85390345
)
INS-61501_FOV_FRAME = 'JUNO_JUNOCAM'
INS-61501_FOV_SHAPE = 'RECTANGLE'
INS-61501_BORESIGHT = (
0.00862523, -0.06371477, 0.99793088
)
INS-61501_FOV_BOUNDARY_CORNERS = (
-0.47934991, -0.09577177, 0.87238262
-0.48125208, -0.01885545, 0.87637943
0.49346247, -0.01872799, 0.86956544
0.49151356, -0.09512467, 0.86565912
)
INS-61500_FOV_FRAME = 'JUNO_JUNOCAM'
INS-61500_FOV_SHAPE = 'POLYGON'
INS-61500_BORESIGHT = (
0.00000000, 0.00000000, 1.00000000
)
INS-61500_FOV_BOUNDARY_CORNERS = (
-0.47351727, -0.18862601, 0.86034971
-0.47852984, -0.11376363, 0.87067045
-0.47934991, -0.09577177, 0.87238262
-0.48125208, -0.01885545, 0.87637943
-0.48132762, -0.00181401, 0.87653889
-0.48010800, 0.07530320, 0.87397125
-0.47949606, 0.09218676, 0.87268845
-0.47518685, 0.16768048, 0.86375964
0.48724863, 0.16654879, 0.85723408
0.49166330, 0.09156385, 0.86595800
0.49229026, 0.07479430, 0.86721169
0.49353987, -0.00180175, 0.86972131
0.49346247, -0.01872799, 0.86956544
0.49151356, -0.09512467, 0.86565912
0.49067337, -0.11299511, 0.86398596
0.48553839, -0.18735362, 0.85390345
)
INS-61502_FOV_FRAME = 'JUNO_JUNOCAM'
INS-61502_FOV_SHAPE = 'RECTANGLE'
INS-61502_BORESIGHT = (
0.00863288, 0.04084925, 0.99912803
)
INS-61502_FOV_BOUNDARY_CORNERS = (
-0.48132762, -0.00181401, 0.87653889
-0.48010800, 0.07530320, 0.87397125
0.49229026, 0.07479430, 0.86721169
0.49353987, -0.00180175, 0.86972131
)
INS-61503_FOV_FRAME = 'JUNO_JUNOCAM'
INS-61503_FOV_SHAPE = 'RECTANGLE'
INS-61503_BORESIGHT = (
0.00857099, 0.14442688, 0.98947835
)
INS-61503_FOV_BOUNDARY_CORNERS = (
-0.47949606, 0.09218676, 0.87268845
-0.47518685, 0.16768048, 0.86375964
0.48724863, 0.16654879, 0.85723408
0.49166330, 0.09156385, 0.86595800
)
\begintext
Optical Distortion
--------------------------------------------------------
This code recipe with fragments in Python, based on [8], maps to and
from pixel coordinates (for full images with 1648 samples per line)
and vectors in the JUNO_JUNOCAM reference frame.
The distortion parameters are set from these IK keywords assigned in
the data block below the recipe (# is 4 for METHANE, 1 for BLUE, 2
for GREEN, and 3 for RED):
cx = INS-6150#_DISTORTION_X
cy = INS-6150#_DISTORTION_Y
k1 = INS-6150#_DISTORTION_K1
k2 = INS-6150#_DISTORTION_K2
fl = INS-6150#_FOCAL_LENGTH/INS-6150#_PIXEL_SIZE
Using these "distort" and "undistort" functions:
def undistort(c):
xd, yd = c[0], c[1]
for i in range(5): # fixed number of iterations for simplicity
r2 = (xd**2+yd**2)
dr = 1+k1*r2+k2*r2*r2
xd = c[0]/dr
yd = c[1]/dr
return [xd, yd]
def distort(c):
xd, yd = c[0], c[1]
r2 = (xd**2+yd**2)
dr = 1+k1*r2+k2*r2*r2
xd *= dr
yd *= dr
return [xd, yd]
given a vector v in the JUNO_JUNOCAM reference frame, the following
computes an XY coordinate in Junocam framelet coordinates with 0,0
in the upper left:
alpha = v[2]/fl
cam = [v[0]/alpha, v[1]/alpha]
cam = distort(cam)
x = cam[0]+cx
y = cam[1]+cy
and the following takes an XY coordinate in Junocam framelet
coordinates and produces a vector in the JUNO_JUNOCAM reference
frame (of arbitrary length).
cam[0] = x-cx
cam[1] = y-cy
cam = undistort(cam)
v = [cam[0], cam[1], fl]
The K1, K2, CX, and CY values are provided in the keyword below.
\begindata
INS-61504_DISTORTION_K1 = -5.9624209455667325e-08
INS-61504_DISTORTION_K2 = 2.7381910042256151e-14
INS-61504_DISTORTION_X = 814.21
INS-61504_DISTORTION_Y = 315.48
INS-61501_DISTORTION_K1 = -5.9624209455667325e-08
INS-61501_DISTORTION_K2 = 2.7381910042256151e-14
INS-61501_DISTORTION_X = 814.21
INS-61501_DISTORTION_Y = 158.48
INS-61500_DISTORTION_K1 = -5.9624209455667325e-08
INS-61500_DISTORTION_K2 = 2.7381910042256151e-14
INS-61500_DISTORTION_X = 814.21
INS-61500_DISTORTION_Y = 78.48
INS-61502_DISTORTION_K1 = -5.9624209455667325e-08
INS-61502_DISTORTION_K2 = 2.7381910042256151e-14
INS-61502_DISTORTION_X = 814.21
INS-61502_DISTORTION_Y = 3.48
INS-61503_DISTORTION_K1 = -5.9624209455667325e-08
INS-61503_DISTORTION_K2 = 2.7381910042256151e-14
INS-61503_DISTORTION_X = 814.21
INS-61503_DISTORTION_Y = -151.52
\begintext
Timing
--------------------------------------------------------
From [8]:
Each Junocam image consists of multiple frames, each a readout of
a portion of the CCD containing one or more filter strips
("framelets") as described in the I kernel. The timing of each
frame is set by a base time (the "START_TIME" keyword in the PDS
label of each Junocam product) and an interframe delay
("INTERFRAME_DELAY"). We have found that there is a fixed bias
of 61.88 msec in the start time with a possible jitter of order
20 msec relative to the reported value (that is, you should add
61.88 msec to the value of START_TIME.) You should also add 1
msec to the value of INTERFRAME_DELAY.
The start time bias and additional interfame delay delta are
provided in the keywords below in seconds.
\begindata
INS-61504_START_TIME_BIAS = 0.06188
INS-61504_INTERFRAME_DELTA = 0.001
INS-61501_START_TIME_BIAS = 0.06188
INS-61501_INTERFRAME_DELTA = 0.001
INS-61500_START_TIME_BIAS = 0.06188
INS-61500_INTERFRAME_DELTA = 0.001
INS-61502_START_TIME_BIAS = 0.06188
INS-61502_INTERFRAME_DELTA = 0.001
INS-61503_START_TIME_BIAS = 0.06188
INS-61503_INTERFRAME_DELTA = 0.001
\begintext
Filters
--------------------------------------------------------
TBD; may be based on MRO/MARCI
End of the IK file.
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'JUNO Reconstructed SC Bus CK File by NAIF/JPL '
BEGIN_ARRAY 1 771
'JUNO SC BUS REC ATT_RECON QUATS '
'1F53605E48^A'
'1F5360BC0E^A'
'-EE48'
'1'
'3'
'1'
771
'AFB77AC517F098^0'
'-21948FA234DF48^0'
'-B55F59D85CD408^0'
'-193835C3D98722^0'
'344550FE30833C^0'
'-213FCCE18676EC^-1'
'-2032A748CC531^-1'
'AE02D92BDE5DD^0'
'-2BBC8B24FB7BD^0'
'-B333EBBB8B9808^0'
'-2310CC2F5CD3B^0'
'344550FE30833C^0'
'-213FCD530D20D8^-1'
'-2032A7947B6F04^-1'
'A98237163087D^0'
'-3DCD9A3CACAEA^0'
'-ADD10F62DAA6E8^0'
'-34A3D3D5E6B816^0'
'344550F9E50042^0'
'-213FD08BAF5C6^-1'
'-2032A8A75C2D86^-1'
'A33C4E53B9D54^0'
'-4F3971CCDD2418^0'
'-A69D628D24269^0'
'-45AA23C4442BEC^0'
'34455085EE2FE2^0'
'-213FFC91ADDF44^-1'
'-2032B5452CEC02^-1'
'9B41E87187C678^0'
'-5FD16C7309A6B8^0'
'-9DAC2D2F8E0D2^0'
'-55F626EBDAB7A4^0'
'34455011F75F84^0'
'-214028DC6491C8^-1'
'-2032C1E2FDAA8^-1'
'91A85BD887AFD^0'
'-6F692B636C4738^0'
'-931559D519B398^0'
'-655C49BE2047DC^0'
'34454F9E008F24^0'
'-214054E26314AA^-1'
'-2032CE80CE68FC^-1'
'868954ECB030D^0'
'-7DD6FD5250AFC4^0'
'-86F53A36292938^0'
'-73B35FB174097^0'
'34454F2E5541C^0'
'-2140812D19C73^-1'
'-2032DB1E9F2778^-1'
'7A02909C229388^0'
'-8AF44E0E337D1^0'
'-796C3AFC2A5D78^0'
'-80D511FBE727D^0'
'34454EBEA9F45A^0'
'-2140AB96C72C4E^-1'
'-2032E664D6F7D2^-1'
'6C35814E15AF0C^0'
'-969E105D009D48^0'
'-6A9E8442A2F064^0'
'-8C9E51B19AE498^0'
'34454E9802599^0'
'-2140B0B072B53A^-1'
'-2032D5C03B6EEC^-1'
'5D4718BEF9E194^0'
'-A0B50F7D06CD08^0'
'-5AB3B5015CAA04^0'
'-96EF8B577B55D^0'
'34454E715ABEC6^0'
'-2140B60ED66DC6^-1'
'-2032C4D6E7B666^-1'
'4D5F43E19AFEE4^0'
'-A91E51531DA318^0'
'-49D65D21F7AA24^0'
'-9FAD291431A17^0'
'34454E4AB323FC^0'
'-2140BB6D3A2652^-1'
'-2032B4324C2D8^-1'
'3CA88A5196E54E^0'
'-AFC358B85B844^0'
'-383394C6BAD3C^0'
'-A6BFCC10EDC198^0'
'34454E240B8932^0'
'-2140C086E5AF3E^-1'
'-2032A38DB0A49A^-1'
'2B4F9C530FFAFE^0'
'-B492618A1144^0'
'-25FA84E7970EB6^0'
'-AC148AE2ADC5E^0'
'34454E01AF7162^0'
'-2140C1DE7E9D62^-1'
'-203293B73DAA96^-1'
'1982D456EB0482^0'
'-B77E915E1465F^0'
'-135BFBE12ED0F^0'
'-AF9D21ECED5C4^0'
'34454E0E91FA5^0'
'-214071E0172C6C^-1'
'-203297BE0875^-1'
'771D2FCCDD7A^-1'
'-B8801828C0BE78^0'
'-89AD16BDCB6BE8^-2'
'-B1502133341288^0'
'34454E1B74833E^0'
'-214021E1AFBB78^-1'
'-20329C098B6F0A^-1'
'-AB318E8FC7AB2^-1'
'-B79444AC3D9C5^0'
'124A1453D2989C^0'
'-B128FCFDB0DF2^0'
'34454E28570C2C^0'
'-213FD19E901AE2^-1'
'-2032A010563972^-1'
'-1CBB6B0BCDCFBD^0'
'-B4BD8C9FD86F68^0'
'24ECF11A0915A8^0'
'-AF281D2A883ED^0'
'34454E3539951A^0'
'-213F81A028A9EE^-1'
'-2032A4172103DC^-1'
'2E76EA286387A^0'
'B0038620AFBCB8^0'
'-372D14579D423E^0'
'AB52DC8EEA46B8^0'
'34454E421C1E08^0'
'-213F351F1BA42^-1'
'-2032A6819AB082^-1'
'3FB615F7CA37AE^0'
'A972D357E783C^0'
'-48D9AE139B8AAC^0'
'A5B3840CA5BBF8^0'
'34454E4EFEA6F6^0'
'-213F37899550C6^-1'
'-2032828931C27^-1'
'504AE8B5D04ACC^0'
'A11D03E4EF8BF^0'
'-59C37D720A7844^0'
'9E59143676674^0'
'34454E5BE12FE4^0'
'-213F39F40EFD6C^-1'
'-20325E90C8D45E^-1'
'60090B1F208A4^0'
'9718609EFC2F1^0'
'-69BD47F8D6DAB^0'
'9557358AC026B8^0'
'34454E68C3B8D2^0'
'-213F3C5E88AA1^-1'
'-20323A53A7B6AC^-1'
'6EC663AFB064EC^0'
'8B7FB2AC7EE858^0'
'-789C54B0979E28^0'
'8AC5FD17F6CA58^0'
'34454E715ABEC6^0'
'-213F3EC90256B6^-1'
'-2032165B3EC89C^-1'
'7C5B86CEE6AD74^0'
'7E71FC8FBBA7E8^0'
'-8638DE5419EED^0'
'7EC1AC1CD3F638^0'
'34454E7E3D47B4^0'
'-213F40AA0BA41A^-1'
'-2031F4CD4F873^-1'
'88A415BC886498^0'
'701233D2481474^0'
'-926E7BCD6FA3C^0'
'716A68314A587^0'
'34454E647835D8^0'
'-213F36BB6CC1E4^-1'
'-203209BD6E0A1E^-1'
'937F43E91F2418^0'
'6086BAE7139758^0'
'-9D1C8B8D22A4^0'
'62E3DC14E0AF24^0'
'34454E4AB323FC^0'
'-213F2CCCCDDFAE^-1'
'-20321E68D45D6E^-1'
'9CD008F9454828^0'
'4FF9232C7FE5C^0'
'-A6267DB1F64B9^0'
'5354DF7C0D27EC^0'
'34454E30EE122^0'
'-213F22DE2EFD78^-1'
'-20323358F2E05C^-1'
'A47D7B4D4AADF^0'
'3E95B0897DCB3A^0'
'-AD7425F53AB2B8^0'
'42E70D7363AD84^0'
'34454E1B74833E^0'
'-213F18EF901B4^-1'
'-203248045933AC^-1'
'AA7312FF02A168^0'
'2C8AE2C33F6B8C^0'
'-B2F1FC426C7258^0'
'31C65512C5C434^0'
'34454E01AF7162^0'
'-213F0F45A968AA^-1'
'-20325BE196F818^-1'
'AEA0E32D1412E8^0'
'1A08F70A0D1F22^0'
'-B6914ECBAED96^0'
'202083A9D4607C^0'
'34454E01AF7162^0'
'-213F0F45A968AA^-1'
'-20325B9CDEC878^-1'
'B0FBBC796D7F38^0'
'7416E301A8B2CC^-1'
'-B8486FB8FE1678^0'
'E24CABEEF5857^-1'
'34454E01AF7162^0'
'-213F0F8A61984C^-1'
'-20325B582698D8^-1'
'B17D53389D669^0'
'-B997F873887CA8^-1'
'-B812C930601A2^0'
'-3FCBE684143278^-1'
'34454E01AF7162^0'
'-213F0F8A61984C^-1'
'-20325B136E6936^-1'
'B0244D8DE3942^0'
'-1E5566305803EF^0'
'-B5F0EB5C7C4F28^0'
'-16139BA02672FE^0'
'34454E01AF7162^0'
'-213F0FCF19C7EC^-1'
'-20325ACEB63996^-1'
'ACF446BD986B38^0'
'-30C02DF1C497B8^0'
'-B1E88AB239E848^0'
'-27EF6D8FEA3228^0'
'34454DFD63EE66^0'
'-213F11F4DB44F^-1'
'-20325B9CDEC878^-1'
'A7F5C19A8BFF48^0'
'-42A8A9E9034A74^0'
'-AC046CC39A159^0'
'-39607528D4931E^0'
'34454D896D1E08^0'
'-213F44F58E9E24^-1'
'-203270D1B57B08^-1'
'A1361CBEF4EA48^0'
'-53DEE2D783BD98^0'
'-A45454960463C^0'
'-4A380BCA8E841^0'
'34454D15764DA8^0'
'-213F77B189C7B6^-1'
'-203286068C2D98^-1'
'98C7650C7CC3A8^0'
'-6434D28DB491A^0'
'-9AECD2105892C^0'
'-5A4928ACB645BC^0'
'34454CA17F7D4A^0'
'-213FAA6D84F14A^-1'
'-20329B3B62E028^-1'
'8EC027F02B6E1^0'
'-737ECAF2684E04^0'
'-8FE70BE3F518B^0'
'-6968D606A11DB8^0'
'34454C2D88ACEA^0'
'-213FDD29801ADC^-1'
'-2032B0703992B8^-1'
'833B36A69EFF78^0'
'-8193EAD8FC5B08^0'
'-83607BB8299F^0'
'-776EA501E0328C^0'
'34454BBDDD5F86^0'
'-21400DBFB9C76A^-1'
'-2032C37F4EC842^-1'
'765754EEA26828^0'
'-8E4E8BE116A83^0'
'-757A923E16CD34^0'
'-84352BDBD0F6A8^0'
'34454BB0FAD698^0'
'-21400ED29A85EC^-1'
'-2032A862A3FDE6^-1'
'683702240B66D4^0'
'-998CA25CAE2338^0'
'-665A86B88530F^0'
'-8F9A29FC16AB3^0'
'34454BA4184DAA^0'
'-21400FE57B446E^-1'
'-20328D8AB16328^-1'
'5900044FCE7D04^0'
'-A3301F465B1CF8^0'
'-5628CB210C5058^0'
'-997F2824F365A8^0'
'34454B9735C4BC^0'
'-214010F85C02F2^-1'
'-203272B2BEC86C^-1'
'48DB0A5689E93C^0'
'-AB1F3D69E5436^0'
'-4510ACDCA89E2C^0'
'-A1C9B1DCA8DA48^0'
'34454B8E9EBEC8^0'
'-2140120B3CC174^-1'
'-203257DACC2DB^-1'
'37F33F0501244A^0'
'-B144C658946BB^0'
'-333FE1B56FC18C^0'
'-A8639BBDAD9778^0'
'34454B81BC35DA^0'
'-214010F85C02F2^-1'
'-20323E15BA5176^-1'
'2675D22116F358^0'
'-B5904E92F1451^0'
'-20E617B700DDA^0'
'-AD3B3A12CB5EB8^0'
'34454B81BC35DA^0'
'-213FE1750314E6^-1'
'-203240C4EC2DBC^-1'
'14918BBF4C97C4^0'
'-B7F6578EF6ED2^0'
'-E34548E803E878^-1'
'-B0439F896A18F^0'
'34454B81BC35DA^0'
'-213FB1F1AA26DA^-1'
'-2032432F65DA6^-1'
'27642DAF993DDC^-1'
'-B87076F600A2C^0'
'4A36B9D907CC3^-1'
'-B174AFC4173568^0'
'34454B81BC35DA^0'
'-213F826E5138D^-1'
'-203245DE97B6A6^-1'
'-FAB9E53E88A6D8^-1'
'-B6FD65798A0D4^0'
'176EC6E5B5AF82^0'
'-B0CB3A66026868^0'
'34454B81BC35DA^0'
'-213F52EAF84AC4^-1'
'-2032484911634C^-1'
'21A39AB13E1D6A^0'
'B3A10261B7B39^0'
'-29FB7BD4EB31F^0'
'AE4903FFE9DAA8^0'
'34454B7D70B2E^0'
'-213F2616D138FE^-1'
'-20324A6ED2E05^-1'
'334192BA8ADE74^0'
'AE644AD3F4F068^0'
'-3C17E7FE2B9484^0'
'A9F4C87A93D62^0'
'34454B3D040638^0'
'-213F322B31983A^-1'
'-203243FD8E6942^-1'
'44567FC7132D0C^0'
'A7553F107AE64^0'
'-4D93A70D05DE2^0'
'A3DA169940FB98^0'
'34454AFC975992^0'
'-213F3E3F91F774^-1'
'-20323D8C49F234^-1'
'54B4B44DE11A9C^0'
'9E86BDFD59BB1^0'
'-5E3FF87E008BEC^0'
'9C093FE7181F^0'
'34454ABC2AACEC^0'
'-213F4A0F3A271^-1'
'-203236D64D4B84^-1'
'64306B06221CD^0'
'9410532BC374A8^0'
'-6DF0462C3CD278^0'
'929729A378A6C^0'
'34454A7BBE0046^0'
'-213F56239A864A^-1'
'-2032306508D476^-1'
'72A03B6767CBC8^0'
'880DF8956C5228^0'
'-7C7A9B55F61A94^0'
'879D15287502F8^0'
'34454A3B51539E^0'
'-213F61251A2704^-1'
'-20322AC1ECEC4A^-1'
'7FDD7D560E76DC^0'
'7A9FD8C0FF6CBC^0'
'-89B81160C7E35^0'
'7B3860034AE328^0'
'34454A07C72FE6^0'
'-213F5487496888^-1'
'-20323A0EEF870C^-1'
'8BC4D74ECAAD28^0'
'6BE9D14C5AC3E8^0'
'-9585466E81F168^0'
'6D8A2AB774DD08^0'
'344549D43D0C2E^0'
'-213F47E978AA0A^-1'
'-2032495BF221CE^-1'
'963673CD8AC068^0'
'5C13389B40D27^0'
'-9FC2AAC1D772B8^0'
'5EB70A4B660D84^0'
'344549A0B2E876^0'
'-213F3B4BA7EB8E^-1'
'-203258A8F4BC92^-1'
'9F1664D78141F^0'
'4B4668EBB805A8^0'
'-A854DBD3BF9F^0'
'4EE6A348D618E4^0'
'3445496D28C4BC^0'
'-213F2EADD72D12^-1'
'-203267F5F75754^-1'
'A64CEEB9394FB8^0'
'39B04EF8F2ABC^0'
'-AF24ED8666F31^0'
'3E433FEC6554AA^0'
'3445493DEA23FE^0'
'-213F229976CDD6^-1'
'-20327674D16334^-1'
'ABC6C9FE664CE8^0'
'277FEE3FECB2A4^0'
'-B420A555D436C^0'
'2CF961EFF8E59E^0'
'3445493DEA23FE^0'
'-213F229976CDD6^-1'
'-20327630193394^-1'
'AF754F2A932F28^0'
'14E5EEA937E99E^0'
'-B73AB25CCDD018^0'
'1B3741866E54D9^0'
'3445493DEA23FE^0'
'-213F229976CDD6^-1'
'-203275EB6103F4^-1'
'B14EA615D3D1D^0'
'2140EAABDAE4BE^-1'
'-B86AC984654C58^0'
'92C5BDC276654^-1'
'3445493DEA23FE^0'
'-213F22DE2EFD78^-1'
'-203275EB6103F4^-1'
'B14DDD837E4F38^0'
'-10C35DEBCC1F06^0'
'-B7ADBE2945F48^0'
'-8F70F4D72461^-1'
'3445493DEA23FE^0'
'-213F22DE2EFD78^-1'
'-203275A6A8D452^-1'
'AF72F7F7D165F^0'
'-236DF58D1B981E^0'
'-B5058AA5D838B^0'
'-1B027EE05AC924^0'
'344549399EA104^0'
'-213F2503F07A7C^-1'
'-203276B98992D6^-1'
'ABC2E5D8B766B8^0'
'-35B9E119AD4798^0'
'-B0794AD5CD62B^0'
'-2CC5B277F311EC^0'
'344548D28A5994^0'
'-213F5804A3D3B^-1'
'-203297BE0875^-1'
'A64789A81B22D8^0'
'-47761EEB27ABC^0'
'-AA15263130E948^0'
'-3E1129C0652CCC^0'
'3445486B761222^0'
'-213F8B05572CE2^-1'
'-2032B8C287572A^-1'
'9F0F8D33263F8^0'
'-58734241EEE2CC^0'
'-A1EA34E347C9A8^0'
'-4EB6A5EA9BFBDC^0'
'34454808AD4DAC^0'
'-213FBE060A8616^-1'
'-2032D9C7063956^-1'
'962E3F3629656^0'
'-6883DDB46A6F24^0'
'-980E4F2BBFD4F8^0'
'-5E89A454C4B994^0'
'344547A199063A^0'
'-213FF106BDDF4A^-1'
'-2032FA86CCEBE^-1'
'8BBB5F4071232^0'
'-777CFCDA1F8A78^0'
'-8C9BD20BAE928^0'
'-6D5FD6BB744608^0'
'3445473ED041C4^0'
'-214021E1AFBB78^-1'
'-203318DC19F1C4^-1'
'7FD2D689059A14^0'
'-8536987A572B8^0'
'-7FB147C7501C6^0'
'-7B11AAE70DAF84^0'
'3445473ED041C4^0'
'-21401F327DDF32^-1'
'-2032F973EC2D5C^-1'
'729481861648DC^0'
'-918BF9EF80E8^0'
'-71714BB230137^0'
'-877A65C42179F^0'
'3445473ED041C4^0'
'-21401CC804328C^-1'
'-2032D9C7063956^-1'
'6423CA38E28E7^0'
'-9C5C277782067^0'
'-6201F8D390E138^0'
'-9278D9927A62E8^0'
'3445473ED041C4^0'
'-21401A18D25646^-1'
'-2032BA5ED874EE^-1'
'54A74D8804570C^0'
'-A58A37EB9883B^0'
'-518C94F94BDBCC^0'
'-9BEFA1494C8B58^0'
'3445473ED041C4^0'
'-214017AE58A9A^-1'
'-20329AB1F280E6^-1'
'444873AE9AD4FC^0'
'-ACFDA076A4EF58^0'
'-403D223929B118^0'
'-A3C56EDB3B35C8^0'
'344547431BC4BE^0'
'-214014BA6E9DBA^-1'
'-20327CE615DA44^-1'
'3332FA9C467AC2^0'
'-B2A27D06D5A0F8^0'
'-2E41E6726DE43C^0'
'-A9E54A1C2DDE08^0'
'34454783887164^0'
'-214007D7E5AF9C^-1'
'-203281FFC1632E^-1'
'219497F029D1BE^0'
'-B669AD583D58D^0'
'-1BCAF9003A152D^0'
'-AE3ED683C99278^0'
'344547C3F51E0A^0'
'-213FFAF55CC18^-1'
'-203287196CEC1A^-1'
'F9C67BFACD3B3^-1'
'-B84916ECA2F86^0'
'-909B9002B0CE3^-1'
'-B0C6725DC91188^0'
'3445480461CAB2^0'
'-213FEDCE1BA3C2^-1'
'-20328C33187506^-1'
'-28589A4258618E^-1'
'-B83BB73F8B9FF8^0'
'9CFB3ADA82A92^-1'
'-B175599A0B6AA8^0'
'34454844CE7758^0'
'-213FE0EB92B5A4^-1'
'-2032914CC3FDF2^-1'
'-14A0BF0E038A09^0'
'-B641B147AD8B08^0'
'1C8EE535A451AE^0'
'-B049B81EAEB098^0'
'34454880EFA104^0'
'-213FD4D732566A^-1'
'-203295DCFF279C^-1'
'2684B93C101566^0'
'B2604F64DBE688^0'
'-2F01A4CA1322E2^0'
'AD46B722DB3B1^0'
'344548740D1816^0'
'-213FDB4876CD78^-1'
'-20328D45F93388^-1'
'3801B7E1BF5E6^0'
'ACA1F28395A14^0'
'-40F6B5DCF9C938^0'
'A8745FB8CD3B88^0'
'344548672A8F28^0'
'-213FE1B9BB4486^-1'
'-203284AEF33F74^-1'
'48E8F77234475^0'
'A515F5307F5FF^0'
'-523E13D0B121BC^0'
'A1DF9555ABF2D^0'
'3445485A48063A^0'
'-213FE82AFFBB96^-1'
'-20327C17ED4B62^-1'
'590D445CE26A54^0'
'9BD0847CD1E2B8^0'
'-62A98A1EF4AF38^0'
'9999F004F9FEA^0'
'3445484D657D4C^0'
'-213FEE9C4432A4^-1'
'-20327380E7574E^-1'
'684373542CF54C^0'
'90EA6AE4C7B7B^0'
'-720D2FA04E0B1C^0'
'8FB98D72F84DB8^0'
'3445483C377164^0'
'-213FF3B5EFBB9^-1'
'-20326C417A515E^-1'
'7662C6961E5C58^0'
'8480E01C2C52E8^0'
'-803FD60C6F2CC^0'
'8458D74FBB31D^0'
'344547EEE83BD^0'
'-213FDA35960EF6^-1'
'-20327F9547B68A^-1'
'83458C557D23D8^0'
'76B503EDCB4A14^0'
'-8D1B8EA6CC5D1^0'
'779639A84253E4^0'
'344547A199063A^0'
'-213FC0F9F491FC^-1'
'-203292A45CEC14^-1'
'8EC94EC6952DD8^0'
'67ABBA2D8DD7C4^0'
'-987DF6612BFB18^0'
'6993D35C0813A^0'
'3445475449D0A6^0'
'-213FA7799AE562^-1'
'-2032A5F82A514^-1'
'98CF42C486E95^0'
'578D37CBF434C4^0'
'-A2489B245E2E3^0'
'5A771AA4D8225^0'
'34454706FA9B12^0'
'-213F8E3DF9686A^-1'
'-2032B9073F86CC^-1'
'A13C9A53ED81C^0'
'468496C633333C^0'
'-AA614D5130631^0'
'4A68793F75D08^0'
'344546BDF6E876^0'
'-213F75D0807A52^-1'
'-2032CB8CE45D14^-1'
'A7FACE4E126DD^0'
'34BF597A4D56A8^0'
'-B0B265608A8CE8^0'
'3992E477FE023E^0'
'344546BDF6E876^0'
'-213F758BC84AB2^-1'
'-2032CBD19C8CB6^-1'
'ACF7D34B411C^0'
'226D0FFD11FDC8^0'
'-B52AFF185FAE78^0'
'28235B9C2A64FA^0'
'344546BDF6E876^0'
'-213F758BC84AB2^-1'
'-2032CC1654BC56^-1'
'B0265275D4D498^0'
'FBEB9053C2166^-1'
'-B7BF25CDCD866^0'
'16487F01B52E42^0'
'344546BDF6E876^0'
'-213F7547101B12^-1'
'-2032CC1654BC56^-1'
'B17DCA1229C598^0'
'-319B693022E612^-1'
'-B867F47D624DC8^0'
'4320E0059FE344^-1'
'344546BDF6E876^0'
'-213F7547101B12^-1'
'-2032CC5B0CEBF6^-1'
'B0FAA424D1B558^0'
'-15E9DA4A74FF6D^0'
'-B723A8663B1D6^0'
'-DEF98ADFB144C8^-1'
'344546B9AB657C^0'
'-213F76E36138D6^-1'
'-2032CDB2A5DA1A^-1'
'AE9E3CF0BB026^0'
'-287F755EAF6B7^0'
'-B3F5A4E5DB9A2^0'
'-1FEBF546938D3B^0'
'3445467D8A3BD^0'
'-213FA2A4A78C18^-1'
'-2032E596AE68F^-1'
'AA6EE6FDFB6DF8^0'
'-3AA8C29F7FEB26^0'
'-AEE66AD445784^0'
'-3192F257EE1FFC^0'
'3445463D1D8F2A^0'
'-213FCE2135AFBA^-1'
'-2032FD7AB6F7C6^-1'
'A941B097EB5CE8^0'
'-3EA0C68211CC6^0'
'-AD859E5F8256D8^0'
'-357132C0604E3^0'
'3445462EC396BC^0'
'-213FD7E072AE4^-1'
'-203302CD253A8^-1'
'1F53605E48^A'
'1F53605ED4F8F4^A'
'1F53605FD4F8F4^A'
'1F536060D4F8F4^A'
'1F536061D4F8F4^A'
'1F536062D4F8F4^A'
'1F536063D4F8F4^A'
'1F536064D4F8F4^A'
'1F536065D4F8F4^A'
'1F536066D4F8F4^A'
'1F536067D4F8F4^A'
'1F536068D4F8F4^A'
'1F536069D4F8F4^A'
'1F53606AD4F8F4^A'
'1F53606BD4F8F4^A'
'1F53606CD4F8F4^A'
'1F53606DD4F8F4^A'
'1F53606ED4F8F4^A'
'1F53606FD4F8F4^A'
'1F536070D4F8F4^A'
'1F536071D4F8F4^A'
'1F536072D4F8F4^A'
'1F536073D4F8F4^A'
'1F536074D4F8F4^A'
'1F536075D4F8F4^A'
'1F536076D4F8F4^A'
'1F536077D4F8F4^A'
'1F536078D4F8F4^A'
'1F536079D4F8F4^A'
'1F53607AD4F8F4^A'
'1F53607BD4F8F4^A'
'1F53607CD4F8F4^A'
'1F53607DD4F8F4^A'
'1F53607ED4F8F4^A'
'1F53607FD4F8F4^A'
'1F536080D4F8F4^A'
'1F536081D4F8F4^A'
'1F536082D4F8F4^A'
'1F536083D4F8F4^A'
'1F536084D4F8F4^A'
'1F536085D4F8F4^A'
'1F536086D4F8F4^A'
'1F536087D4F8F4^A'
'1F536088D4F8F4^A'
'1F536089D4F8F4^A'
'1F53608AD4F8F4^A'
'1F53608BD4F8F4^A'
'1F53608CD4F8F4^A'
'1F53608DD4F8F4^A'
'1F53608ED4F8F4^A'
'1F53608FD4F8F4^A'
'1F536090D4F8F4^A'
'1F536091D4F8F4^A'
'1F536092D4F8F4^A'
'1F536093D4F8F4^A'
'1F536094D4F8F4^A'
'1F536095D4F8F4^A'
'1F536096D4F8F4^A'
'1F536097D4F8F4^A'
'1F536098D4F8F4^A'
'1F536099D4F8F4^A'
'1F53609AD4F8F4^A'
'1F53609BD4F8F4^A'
'1F53609CD4F8F4^A'
'1F53609DD4F8F4^A'
'1F53609ED4F8F4^A'
'1F53609FD4F8F4^A'
'1F5360A0D4F8F4^A'
'1F5360A1D4F8F4^A'
'1F5360A2D4F8F4^A'
'1F5360A3D4F8F4^A'
'1F5360A4D4F8F4^A'
'1F5360A5D4F8F4^A'
'1F5360A6D4F8F4^A'
'1F5360A7D4F8F4^A'
'1F5360A8D4F8F4^A'
'1F5360A9D4F8F4^A'
'1F5360AAD4F8F4^A'
'1F5360ABD4F8F4^A'
'1F5360ACD4F8F4^A'
'1F5360ADD4F8F4^A'
'1F5360AED4F8F4^A'
'1F5360AFD4F8F4^A'
'1F5360B0D4F8F4^A'
'1F5360B1D4F8F4^A'
'1F5360B2D4F8F4^A'
'1F5360B3D4F8F4^A'
'1F5360B4D4F8F4^A'
'1F5360B5D4F8F4^A'
'1F5360B6D4F8F4^A'
'1F5360B7D4F8F4^A'
'1F5360B8D4F8F4^A'
'1F5360B9D4F8F4^A'
'1F5360BAD4F8F4^A'
'1F5360BBD4F8F4^A'
'1F5360BC0E^A'
'1F53605E48^A'
'1^1'
'6^2'
END_ARRAY 1 771
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /home/acpaquette/juno/JNCR_2016240_01M06152_V01_METHANE_0008.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
'JUNO Reconstructed SC Bus CK File by NAIF/JPL '
BEGIN_ARRAY 1 755
'JUNO SC BUS REC ATT_RECON QUATS '
'1F536AFD75^A'
'1F536B5961^A'
'-EE48'
'1'
'3'
'1'
755
'18CDC18467200D^0'
'B5878A6ED39FB^0'
'-20DC004174A0AC^0'
'AFC0059B63D0D^0'
'344544FE3787BC^0'
'-213CAC590E1E5^-1'
'-20337C84B1DC6C^-1'
'-1F85C630AEFD0C^0'
'-B421A1DDAD3C3^0'
'27CA3449BC3F3E^0'
'-AEAD1CF2EEB948^0'
'34454507E0B8D6^0'
'-213CB0E05D227^-1'
'-20338329039E34^-1'
'3131043BC64C22^0'
'AF1D4D13954458^0'
'-39F691F5BEE70E^0'
'AA8FDF8F24D428^0'
'34454521A5CAB2^0'
'-213CBD3975B14C^-1'
'-2033949BC7B5FC^-1'
'4258BBD8DEA8EC^0'
'A844B2DE1F6BC^0'
'-4B87F42F003778^0'
'A4AA899AB7C09^0'
'3445453B6ADC9^0'
'-213CC94DD61088^-1'
'-2033A65343FD64^-1'
'52CF017883A7F4^0'
'9FAA2166AD0838^0'
'-5C4F440F3D4E84^0'
'9D0CF3C3DC8E38^0'
'344545552FEE6C^0'
'-213CC297D969D8^-1'
'-20336FD5363908^-1'
'6267DC188065A8^0'
'95649D6C14AEC^0'
'-6C1FBEA1BBD1FC^0'
'93CB6A5D5226D^0'
'3445456EF50048^0'
'-213CBA00D375C4^-1'
'-20333217BB6EBC^-1'
'70F9973032CDB4^0'
'898F9D9BA09EB8^0'
'-7ACF1C771DDD7C^0'
'88FEAA6EC2C528^0'
'34454588BA1224^0'
'-213CB1AE85B152^-1'
'-2032F49EF8D412^-1'
'7E5D3C575A6B18^0'
'7C4AC50AB6924C^0'
'-883618194031B8^0'
'7CC3941C8AADCC^0'
'344545A27F24^0'
'-213CA9177FBD3E^-1'
'-2032B6E17E09C6^-1'
'8A6EFCC92508B8^0'
'6DB98EC645B8E^0'
'-9430DA128593A8^0'
'6F3ADB6A96C42^0'
'344545BC4435DC^0'
'-213CA08079C92A^-1'
'-20327924033F7A^-1'
'950E87687ACEE8^0'
'5E02FB9D6FBCFC^0'
'-9E9F5C6AFEC05^0'
'6088ADF977FB9^0'
'344545C08FB8D6^0'
'-213C964D22B754^-1'
'-203281BB09338E^-1'
'9E1F7CC3B12B7^0'
'4D51048C4E23F^0'
'-A765B758B61368^0'
'50D45CB913877^0'
'344545C08FB8D6^0'
'-213C8BD51375DC^-1'
'-203291917C2D92^-1'
'A5899EEDC9FB1^0'
'3BD04D5B8EAD3E^0'
'-AE6C73055B33B^0'
'4047E6FD025248^0'
'344545C08FB8D6^0'
'-213C815D043464^-1'
'-2032A167EF2796^-1'
'AB3919CDC2A74^0'
'29AFA447F35EB2^0'
'-B3A0C520CABF98^0'
'2F0F8DD65BB09A^0'
'344545C08FB8D6^0'
'-213C76E4F4F2EC^-1'
'-2032B13E62219A^-1'
'AF1EB942702BD^0'
'171F834EBAB458^0'
'-B6F4C2D32C6AF8^0'
'1D595E153419B8^0'
'344545C08FB8D6^0'
'-213C6CB19DE116^-1'
'-2032C114D51B9E^-1'
'B13013990F0528^0'
'4518927BA0BDD8^-1'
'-B85F849FE25E^0'
'B54B211932DF8^-1'
'344545C08FB8D6^0'
'-213C6B9EBD2294^-1'
'-2032C227B5DA2^-1'
'B1679F8BF6EEB8^0'
'-E87FBA642E41A^-1'
'-B7DD411288B288^0'
'-6CE44BA21D7F4C^-1'
'344545C08FB8D6^0'
'-213C6B9EBD2294^-1'
'-2032C227B5DA2^-1'
'AFC4C9105D4DF^0'
'-213AA24E852F66^0'
'-B56F555E926DC^0'
'-18DF05F92D16D3^0'
'344545C08FB8D6^0'
'-213C6B9EBD2294^-1'
'-2032C1E2FDAA8^-1'
'AC4BF11E7F8BC^0'
'-33946AD2FF0D5E^0'
'-B11C418C08D9B8^0'
'-2AAD4287A8C52^0'
'344545C08FB8D6^0'
'-213C6B9EBD2294^-1'
'-2032C1E2FDAA8^-1'
'A7066194ABAF58^0'
'-45644320911A18^0'
'-AAEF971E8C7F78^0'
'-3C095D6E3C96^0'
'344545C08FB8D6^0'
'-213C6B9EBD2294^-1'
'-2032C19E457ADE^-1'
'A0022E90589FA^0'
'-567A9D2E686204^0'
'-A2F9D1A3DD509^0'
'-4CC4F3E56A7D78^0'
'34454591511818^0'
'-213C85A8872E6E^-1'
'-2032C9226AB07^-1'
'97521EAC79AC5^0'
'-66A9B5F5B4915C^0'
'-99503F9DFAA75^0'
'-5CB33EF1AD56E4^0'
'3445455DC6F46^0'
'-213CA21CCAE6EE^-1'
'-2032D130004542^-1'
'8D0D6EA87F3AA^0'
'-75C6455617DC0C^0'
'-8E0CB9434F8268^0'
'-6BA9A4F29BC6F8^0'
'3445452A3CD0A8^0'
'-213CBED5C6CF1^-1'
'-2032D9824E09B4^-1'
'814F9474B906E8^0'
'-83A7E391E8D3C8^0'
'-814D5E06097338^0'
'-79802456E62F9^0'
'344544F6B2ACEE^0'
'-213CDB8EC2B73^-1'
'-2032E1D49BCE28^-1'
'7437F64CB41EE8^0'
'-9029734535D8F^0'
'-733444B80D4484^0'
'-8611BDA4882C8^0'
'344544C3288936^0'
'-213CF803066FB^-1'
'-2032E9E23162FA^-1'
'65E98DAFA2E7C4^0'
'-9B2985D371B53^0'
'-63E714D0E14848^0'
'-913CE301B9E0D8^0'
'344544B1FA7D4E^0'
'-213D009A0C63C4^-1'
'-2032DE1289335E^-1'
'568AA20D8F126^0'
'-A48AAF391BB318^0'
'-538EC181F3933C^0'
'-9AE3AA451EA948^0'
'344544A517F46^0'
'-213D070B50DAD2^-1'
'-2032CFD867571E^-1'
'46444DC8F1DD0C^0'
'-AC33DB688AC7B^0'
'-4257006896D37C^0'
'-A2EC43FE901BF8^0'
'34454498356B72^0'
'-213D0D7C9551E2^-1'
'-2032C1E2FDAA8^-1'
'354214FCAB25A2^0'
'-B2108EE18D56C8^0'
'-306DDB3E995CA2^0'
'-A9413569EF32^0'
'3445448B52E284^0'
'-213D13EDD9C8F^-1'
'-2032B3ED93FDE^-1'
'23B171F4DC57D2^0'
'-B6111D11666268^0'
'-1E0335D4F9162C^0'
'-ADD190672711D^0'
'3445447E705996^0'
'-213D1A5F1E3FFE^-1'
'-2032A5F82A514^-1'
'11C15B6E548B36^0'
'-B82AD8795BEA18^0'
'-B485D041A9F71^-1'
'-B091194B0844A8^0'
'3445448B52E284^0'
'-213CEE14678D7A^-1'
'-2032B9073F86CC^-1'
'-5E37CC52B2072C^-2'
'-B8581FAF506DB8^0'
'790A79809F77AC^-1'
'-B1787DB33CB67^0'
'34454498356B72^0'
'-213CBCB005520A^-1'
'-2032CF4EF6F7DE^-1'
'-127CD2276E72BE^0'
'-B698783E4C8E48^0'
'1A557450B4CE53^0'
'-B08553109E32D8^0'
'344544A517F46^0'
'-213C8B06EAE6FA^-1'
'-2032E596AE68F^-1'
'246A005BBCE194^0'
'B2F08DFEFE19C^0'
'-2CD3D9B9F8BD4A^0'
'ADBA22C8794D68^0'
'344544B1FA7D4E^0'
'-213C59A288AB8A^-1'
'-2032FC231E09A2^-1'
'35F5D3006D8E22^0'
'AD6A263DC623^0'
'-3EDA6453D65AAE^0'
'A91E643FD6C0D^0'
'344544BEDD063C^0'
'-213C283E26701C^-1'
'-2033126AD57AB6^-1'
'46F14F049760D^0'
'A61400CACD909^0'
'-5038D50464FABC^0'
'A2BE7AAD22EBF^0'
'344544B1FA7D4E^0'
'-213C27B4B610DA^-1'
'-2032ED5F8BCE22^-1'
'572F1AACA0FFB8^0'
'9D01C16D957C2^0'
'-60C0C46F9FE4D^0'
'9AAB645434D7F^0'
'344544A517F46^0'
'-213C2C44F13A84^-1'
'-2032C227B5DA2^-1'
'6683C9006D15E^0'
'924BA97AFCE53^0'
'-7045FEF4B494C^0'
'90FAB5D3B6F6D^0'
'34454498356B72^0'
'-213C309074348E^-1'
'-203297349815BE^-1'
'74C65A6446F3D^0'
'860E5C9C04A55^0'
'-7E9F0347D5791^0'
'85C6578A21F9C8^0'
'3445448B52E284^0'
'-213C3520AF5E38^-1'
'-20326BFCC221BC^-1'
'81D0AC080ECAD^0'
'786A94EFF7DB54^0'
'-8BA572A6F7B74^0'
'792C3EE2BED18C^0'
'3445447E705996^0'
'-213C396C325842^-1'
'-203240C4EC2DBC^-1'
'8D7FCF58984788^0'
'6984DD121CEBA8^0'
'-973676E81C672^0'
'6B4E2139FB3D3C^0'
'3445447E705996^0'
'-213C2D1319C966^-1'
'-20324F887E693C^-1'
'97B4935A904458^0'
'5984FCE15EF78^0'
'-A13324F07A51^0'
'5C5112D79E0C1C^0'
'3445447E705996^0'
'-213C1F1DB01CC6^-1'
'-203264789CEC2C^-1'
'A053AE41B61CA^0'
'4895BB41F9B958^0'
'-A980C77F74C41^0'
'4C5D2824366B2^0'
'3445447E705996^0'
'-213C10E38E4086^-1'
'-20327968BB6F1C^-1'
'A74611B22F11B8^0'
'36E46139BCF652^0'
'-B00929F0FB6678^0'
'3B9D0A1A12D954^0'
'3445447E705996^0'
'-213C02EE2493E6^-1'
'-20328E1421C26A^-1'
'AC7929E6C80F68^0'
'24A03EFE8748CE^0'
'-B4BAD3D54382A8^0'
'2A3D83F358EC7^0'
'3445447E705996^0'
'-213BF4B402B7A6^-1'
'-2032A30440455A^-1'
'AFDF13901981F8^0'
'11FA24C121EB2F^0'
'-B7893550F848B^0'
'186D0743AFF1E4^0'
'3445447E705996^0'
'-213BF35C69C984^-1'
'-2032A4A091631C^-1'
'B16EB4170D26A^0'
'-DC070DA18F6D8^-2'
'-B86CCE3D17EC1^0'
'65B3AECC395CA^-1'
'3445447E705996^0'
'-213BF3A121F924^-1'
'-2032A45BD9337C^-1'
'B123DEECDFE7B^0'
'-13AFE42298A00E^0'
'-B7633EC2F82688^0'
'-BC78E702BF334^-1'
'3445447E705996^0'
'-213BF3A121F924^-1'
'-2032A45BD9337C^-1'
'AEFF5CF582005^0'
'-264F197EE84E9A^0'
'-B46F4DDA6D3828^0'
'-1DCAD54C8956BD^0'
'3445447E705996^0'
'-213BF3E5DA28C4^-1'
'-2032A4172103DC^-1'
'AB06E9E9932C18^0'
'-3887DB3816EA1E^0'
'-AF98E1F92ED58^0'
'-2F7E6EA7CAD72^0'
'3445447E705996^0'
'-213BF3E5DA28C4^-1'
'-2032A3D268D43C^-1'
'A5451EA949A118^0'
'-4A2984B7F9F0B8^0'
'-A8ECE5DC684B4^0'
'-40B30C64F0CE1^0'
'344544718DD0A8^0'
'-213C1573C96A3^-1'
'-2032B364239E9E^-1'
'9DC9642AAA8128^0'
'-5B04DC7332FD84^0'
'-A07D33E19DAE18^0'
'-513AA4EC88FFC4^0'
'34454464AB47BA^0'
'-213C3A3A5AE724^-1'
'-2032C4922F86C6^-1'
'94A7BEDC8562C^0'
'-6AECCD25EBAA9^0'
'-96605CBFA728^0'
'-60E90488475928^0'
'34454457C8BECC^0'
'-213C5F00EC6416^-1'
'-2032D604F39E8C^-1'
'89F89AB0F0CE3^0'
'-79B6CEFCB072D8^0'
'-8AB16C2281CEE8^0'
'-6F943D9378312C^0'
'3445444AE635DE^0'
'-213C840C3610AA^-1'
'-2032E732FF86B4^-1'
'7DD88A40F249C4^0'
'-873B57039CED9^0'
'-7D8FA09C6D338C^0'
'-7D1517AE0B5A6C^0'
'3445443E03ACEE^0'
'-213CA8D2C78D9E^-1'
'-2032F8610B6EDA^-1'
'7067F1B8B6E2A4^0'
'-93564150E962C^0'
'-6F1E0B4BEC1A4C^0'
'-8947893CBB587^0'
'3445444AE635DE^0'
'-213CAD1E4A87A8^-1'
'-2032E91408D418^-1'
'61CAC6BC813EF4^0'
'-9DE72E48A3EEF^0'
'-5F8355862A8D2C^0'
'-940AE4417FF478^0'
'34454457C8BECC^0'
'-213CADEC73168A^-1'
'-2032D649ABCE2E^-1'
'52281DC9722CF8^0'
'-A6D1DDD8B8BE5^0'
'-4EE93A4DA61D84^0'
'-9D425FEE499698^0'
'34454464AB47BA^0'
'-213CAEBA9BA56C^-1'
'-2032C37F4EC842^-1'
'41A9C58BBADEB8^0'
'-ADFE78F4E6FAD^0'
'-3D7C1DFBC713D8^0'
'-A4D557BA14FE^0'
'344544718DD0A8^0'
'-213CAF88C4344C^-1'
'-2032B0B4F1C258^-1'
'307BD7CDEDF044^0'
'-B359D11FCB5508^0'
'-2B6A98E14916DC^0'
'-AAAF8B59A1175^0'
'3445447E705996^0'
'-213CB09BA4F2D^-1'
'-20329E2F4CEC0E^-1'
'1ECC41257E02A9^0'
'-B6D5995BFE7AE8^0'
'-18E4FCB77EBA79^0'
'-AEC14EEE94619^0'
'344544BA918342^0'
'-213CA0C531F8CC^-1'
'-2032A7D9339EA4^-1'
'CCA4DB8E7DFF^-1'
'-B8687C2AC8D67^0'
'-61CCE05CBB5BA4^-1'
'-B0FFC5479D4D8^0'
'344544FAFE2FE8^0'
'-213C8F0DB5B164^-1'
'-2032B4BBBC8CC2^-1'
'-559DBF20C55008^-1'
'-B80E430A7CECC8^0'
'CBBBB1717C9A08^-1'
'-B164EE6C2ED25^0'
'3445453B6ADC9^0'
'-213C7D9AF1999C^-1'
'-2032C19E457ADE^-1'
'-176FB9DD6D143C^0'
'-B5C7DE47EBC96^0'
'1F723A62B00118^0'
'-AFEFBB2823797^0'
'3445457BD78936^0'
'-213C6C282D81D4^-1'
'-2032CE80CE68FC^-1'
'2946EFFE802326^0'
'B19B62062F6F^0'
'-31D4A64A820452^0'
'ACA4107C3540E8^0'
'344545BC4435DC^0'
'-213C5A70B13A6C^-1'
'-2032DB1E9F2778^-1'
'3AAFB73D43826^0'
'AB93F4F6D9DDF8^0'
'-43B1BF779C1038^0'
'A78ACDF1317D7^0'
'344545B3AD2FE8^0'
'-213C6391278DC2^-1'
'-2032BB71B9337^-1'
'4B7B93CE6D4FA8^0'
'A3C1B995AFCC8^0'
'-54D9D63DC260EC^0'
'A0B18AFCF3B11^0'
'344545A6CAA6FA^0'
'-213C6FA587ECFC^-1'
'-203296EFDFE61E^-1'
'5B7D9D57C7C5B^0'
'9A3999067F53A8^0'
'-651F0C1F4819CC^0'
'982A95102E31A8^0'
'34454599E81E0C^0'
'-213C7B75301C98^-1'
'-2032726E0698CC^-1'
'6A8B04DEEA8F34^0'
'8F150F577213^0'
'-7455DE950774D^0'
'8E0CB84A33D5C8^0'
'3445458D05951E^0'
'-213C8744D84C32^-1'
'-20324E30E57B1A^-1'
'787B89497B8544^0'
'8271E79B51A2^0'
'-82559DDF571BA^0'
'82730120DEBF38^0'
'34454580230C3^0'
'-213C935938AB6E^-1'
'-203229AF0C2DC6^-1'
'8529D4D471F68^0'
'7471FE09B0ADDC^0'
'-8EF8D7D818B05^0'
'757C75467E13AC^0'
'34454580230C3^0'
'-213C8676AFBD5^-1'
'-203234271B6F3E^-1'
'90740BC9148F08^0'
'653AB47E43CA28^0'
'-9A1DC4F31FD8F8^0'
'674BBEAB8814C8^0'
'34454580230C3^0'
'-213C7729AD228E^-1'
'-203243B8D639A2^-1'
'9A3BFE5DE96A4^0'
'54F4B96566E20C^0'
'-A3A697BBC05768^0'
'5806CF452AB514^0'
'34454580230C3^0'
'-213C67DCAA87CA^-1'
'-20325305D8D464^-1'
'A2678437767DA8^0'
'43CB90EF736244^0'
'-AB79D08CB10F1^0'
'47D67C094C153C^0'
'34454580230C3^0'
'-213C588FA7ED08^-1'
'-20326297939EC8^-1'
'A8E0C4145B459^0'
'31ED1F123EF1D8^0'
'-B182821D4887A8^0'
'36E60F983D3CE6^0'
'34454580230C3^0'
'-213C48FDED22A6^-1'
'-203272294E692A^-1'
'AD9671A490A128^0'
'1F89270E3F667B^0'
'-B5B08739F928A8^0'
'2562D652CC448^0'
'34454580230C3^0'
'-213C47EB0C6422^-1'
'-2032733C2F27AE^-1'
'B07BF174EF37A8^0'
'CD0DBA9784DB38^-1'
'-B7F8B3D718BC48^0'
'137BA5525F7358^0'
'34454580230C3^0'
'-213C482FC493C4^-1'
'-203272F776F80C^-1'
'B18984A7DEC59^0'
'-609B302DD66334^-1'
'-B854EE6EDE043^0'
'1605CF3314BB8A^-1'
'34454580230C3^0'
'-213C482FC493C4^-1'
'-203272B2BEC86C^-1'
'B0BC5AFE6D1CA8^0'
'-18D419E638B734^0'
'-B6C441047983C8^0'
'-10BE973294B059^0'
'34454580230C3^0'
'-213C48747CC364^-1'
'-2032726E0698CC^-1'
'AE1699F1138F38^0'
'-2B5C1970EA4DE8^0'
'-B34ADBF5A3748^0'
'-22B0C1FAF2E11A^0'
'34454580230C3^0'
'-213C48B934F304^-1'
'-203272294E692A^-1'
'A99F51D4DEEA08^0'
'-3D70369636851A^0'
'-ADF2076A93ADD8^0'
'-34462B2E3D3B5C^0'
'34454550E46B72^0'
'-213C69BDB3D53^-1'
'-203287A2DD4B5C^-1'
'A362773F37DF78^0'
'-4EE00857AC282C^0'
'-A6C810C7C5C948^0'
'-454FC8A212307C^0'
'3445451D5A47B8^0'
'-213C8E3F8D2282^-1'
'-20329F422DAA9^-1'
'9B70B9E6EC07D^0'
'-5F7CEC75F0AE38^0'
'-9DE0218AB69F3^0'
'-55A00B0D4F48E8^0'
'344544E9D024^0'
'-213CB2C1666FD4^-1'
'-2032B726363966^-1'
'91DF5938CDC94^0'
'-6F1A771C0D9F1C^0'
'-93520B6E25D608^0'
'-650B53CA7141A4^0'
'344544B6460048^0'
'-213CD7433FBD26^-1'
'-2032CEC586989C^-1'
'86C7EBCDAA2898^0'
'-7D8EE78EEFF26C^0'
'-873A08C7464788^0'
'-736868C181E264^0'
'34454482BBDC9^0'
'-213CFBC5190A7A^-1'
'-2032E6A98F2772^-1'
'7A481071DF8DBC^0'
'-8AB39BA7AA983^0'
'-79B861637AD74^0'
'-8090F744D6AFE^0'
'3445447E705996^0'
'-213CFD1CB1F89C^-1'
'-2032D717D45D0E^-1'
'6C813A009BA01C^0'
'-96656961FF8AA^0'
'-6AF13F2E2466CC^0'
'-8C61BB980250F8^0'
'3445447E705996^0'
'-213CFAB2384BF6^-1'
'-2032C3C406F7E4^-1'
'5D98404EE0C9EC^0'
'-A0850BE1125CB^0'
'-5B0C28017BD61^0'
'-96BB1C20471D48^0'
'3445447E705996^0'
'-213CF847BE9F52^-1'
'-2032B02B816316^-1'
'4DB501B6DBC128^0'
'-A8F7721636BCF^0'
'-4A339C68F09E28^0'
'-9F816D52E9B1E^0'
'3445447E705996^0'
'-213CF5DD44F2AC^-1'
'-20329CD7B3FDEC^-1'
'3D01F97F5D584A^0'
'-AFA60697FD3FE8^0'
'-3894A7975E2B04^0'
'-A69D3936577FF^0'
'3445447E705996^0'
'-213CF372CB4606^-1'
'-2032893F2E691E^-1'
'2BABBF2D744ED4^0'
'-B47EEF494E7D9^0'
'-265E6EFA78706E^0'
'-ABFB7C7820A31^0'
'344544DCED9B12^0'
'-213CAFCD7C63EE^-1'
'-20328FF52B0FCE^-1'
'19E0BAF8307535^0'
'-B77532F270A05^0'
'-13C19D50AAB4C1^0'
'-AF8DDC6195465^0'
'3445454401E284^0'
'-213C657230DB26^-1'
'-2032995A5992C4^-1'
'7D0820575AD22C^-1'
'-B880E54B516AB8^0'
'-EFF5D7EF25F948^-2'
'-B14ACBC4FEBBF8^0'
'344545AB1629F4^0'
'-213C1B16E5525E^-1'
'-2032A30440455A^-1'
'-A549EE8B8E691^-1'
'-B79F39D2C5C658^0'
'11E435F94FFC5B^0'
'-B12DA44623837^0'
'344546122A7166^0'
'-213BD0BB99C996^-1'
'-2032AC696EC84E^-1'
'1438D680761589^0'
'B653B021D52518^0'
'-1C1FBA997D44D5^0'
'B055052673C8F^0'
'3445464A8C5EDA^0'
'-213BA80FA07F7^-1'
'-2032B1B29D0B3E^-1'
'1F536AFD75^A'
'1F536AFDD4F8F4^A'
'1F536AFED4F8F4^A'
'1F536AFFD4F8F4^A'
'1F536B00D4F8F4^A'
'1F536B01D4F8F4^A'
'1F536B02D4F8F4^A'
'1F536B03D4F8F4^A'
'1F536B04D4F8F4^A'
'1F536B05D4F8F4^A'
'1F536B06D4F8F4^A'
'1F536B07D4F8F4^A'
'1F536B08D4F8F4^A'
'1F536B09D4F8F4^A'
'1F536B0AD4F8F4^A'
'1F536B0BD4F8F4^A'
'1F536B0CD4F8F4^A'
'1F536B0DD4F8F4^A'
'1F536B0ED4F8F4^A'
'1F536B0FD4F8F4^A'
'1F536B10D4F8F4^A'
'1F536B11D4F8F4^A'
'1F536B12D4F8F4^A'
'1F536B13D4F8F4^A'
'1F536B14D4F8F4^A'
'1F536B15D4F8F4^A'
'1F536B16D4F8F4^A'
'1F536B17D4F8F4^A'
'1F536B18D4F8F4^A'
'1F536B19D4F8F4^A'
'1F536B1AD4F8F4^A'
'1F536B1BD4F8F4^A'
'1F536B1CD4F8F4^A'
'1F536B1DD4F8F4^A'
'1F536B1ED4F8F4^A'
'1F536B1FD4F8F4^A'
'1F536B20D4F8F4^A'
'1F536B21D4F8F4^A'
'1F536B22D4F8F4^A'
'1F536B23D4F8F4^A'
'1F536B24D4F8F4^A'
'1F536B25D4F8F4^A'
'1F536B26D4F8F4^A'
'1F536B27D4F8F4^A'
'1F536B28D4F8F4^A'
'1F536B29D4F8F4^A'
'1F536B2AD4F8F4^A'
'1F536B2BD4F8F4^A'
'1F536B2CD4F8F4^A'
'1F536B2DD4F8F4^A'
'1F536B2ED4F8F4^A'
'1F536B2FD4F8F4^A'
'1F536B30D4F8F4^A'
'1F536B31D4F8F4^A'
'1F536B32D4F8F4^A'
'1F536B33D4F8F4^A'
'1F536B34D4F8F4^A'
'1F536B35D4F8F4^A'
'1F536B36D4F8F4^A'
'1F536B37D4F8F4^A'
'1F536B38D4F8F4^A'
'1F536B39D4F8F4^A'
'1F536B3AD4F8F4^A'
'1F536B3BD4F8F4^A'
'1F536B3CD4F8F4^A'
'1F536B3DD4F8F4^A'
'1F536B3ED4F8F4^A'
'1F536B3FD4F8F4^A'
'1F536B40D4F8F4^A'
'1F536B41D4F8F4^A'
'1F536B42D4F8F4^A'
'1F536B43D4F8F4^A'
'1F536B44D4F8F4^A'
'1F536B45D4F8F4^A'
'1F536B46D4F8F4^A'
'1F536B47D4F8F4^A'
'1F536B48D4F8F4^A'
'1F536B49D4F8F4^A'
'1F536B4AD4F8F4^A'
'1F536B4BD4F8F4^A'
'1F536B4CD4F8F4^A'
'1F536B4DD4F8F4^A'
'1F536B4ED4F8F4^A'
'1F536B4FD4F8F4^A'
'1F536B50D4F8F4^A'
'1F536B51D4F8F4^A'
'1F536B52D4F8F4^A'
'1F536B53D4F8F4^A'
'1F536B54D4F8F4^A'
'1F536B55D4F8F4^A'
'1F536B56D4F8F4^A'
'1F536B57D4F8F4^A'
'1F536B58D4F8F4^A'
'1F536B5961^A'
'1F536AFD75^A'
'1^1'
'5E^2'
END_ARRAY 1 755
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /home/acpaquette/juno/JNCR_2016240_01M06152_V01_METHANE_0008.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
This diff is collapsed.
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
' < DAFCAT: CK CONCATENATION > '
BEGIN_ARRAY 1 107
'Partly corrected data: -1.414s; 98-11-29'
'1D954003D^9'
'1D9542BF^9'
'-16F30'
'1'
'3'
'1'
107
'1D790EA81EA016^0'
'-918F0350C74828^-1'
'-F536ADEFD16728^0'
'-42BEB1626C7088^0'
'-9C88FED3D85C68^-4'
'-48E153B50983B^-2'
'-2AD64DD1290CAC^-2'
'1DDEECA8BF3D81^0'
'-935854FCD9821^-1'
'-F52A6A6B12E828^0'
'-42BA89CD332A74^0'
'-B4D20610ED2DE^-4'
'-4901B2A8F29568^-2'
'-2AE9C52CD37386^-2'
'1E82D451C09AE5^0'
'-95FCFBA5E059E8^-1'
'-F5160AEEF0F52^0'
'-42B554A5E6A2C^0'
'-D0F19E27498D4^-4'
'-493264A30D8644^-2'
'-2B2C6603FBB93C^-2'
'1F242BDA767821^0'
'-98DC760A8D903^-1'
'-F501D92780DD8^0'
'-42AE6EF59E358C^0'
'-B2D0556F0B9D4^-4'
'-48FA33A3B36CA4^-2'
'-2AEEA895C2581E^-2'
'1FC6C9B34004A4^0'
'-9B84FBFA0800F8^-1'
'-F4ECF753141178^0'
'-42A847DD2E469^0'
'-9F3DDF0AF0A8E^-4'
'-493FE2B39CA158^-2'
'-2AFEA7D19146A2^-2'
'206A55E36E3E24^0'
'-9E517CED214C4^-1'
'-F4D76645E42B3^0'
'-42A22C1AA278B4^0'
'-CD57A77FD3674^-4'
'-49361589848274^-2'
'-2B2E0E48B03EB8^-2'
'210C2D3FE95776^0'
'-A114D05BEE0C28^-1'
'-F4C1CFA637BA68^0'
'-429B5C8CEFB0EC^0'
'-C400A5AD939B6^-4'
'-493BAD1F2F6E98^-2'
'-2B24B697ED3A54^-2'
'21AE71D2E43518^0'
'-A3E53A4E8AF69^-1'
'-F4ABBCF5E555F8^0'
'-42944F01FD64E^0'
'-B434680938FEA^-4'
'-495C1059666548^-2'
'-2B15649A28AB6C^-2'
'2252114BDA3AF^0'
'-A695CE51767A9^-1'
'-F4957FAFF9CF6^0'
'-428BC89C91262C^0'
'-B5085079B86EE^-4'
'-493F19DC73777C^-2'
'-2B2EE70CE2327^-2'
'22F5DC45B65A1C^0'
'-A96E842462F54^-1'
'-F47E29E4914C98^0'
'-4285156C0B55F^0'
'-CA1CD01BC8FF8^-4'
'-4995FCA91B5048^-2'
'-2B77BFFE43A76C^-2'
'23989FECEEA27C^0'
'-AC22C35B6898B^-1'
'-F466AE54FBABA^0'
'-427E1CEC3E667C^0'
'-B5067A01B4BBE^-4'
'-49AC3DFD7A471^-2'
'-2B5250124FDFCC^-2'
'243AA6E7FC22DA^0'
'-AEF2026FA830C^-1'
'-F44EEAA41C9648^0'
'-42769993672234^0'
'-8F78169F9F462^-4'
'-49B56A9779D06^-2'
'-2B7A7F7CBEDB6C^-2'
'246AC56B5D6A18^0'
'-AFC27F630D76F^-1'
'-F447B5DBAAA06^0'
'-4274A3FB71B3AC^0'
'-9663589DA9FEA^-4'
'-49CD946BC2576^-2'
'-2B7D1854574A64^-2'
'1D954003D^9'
'1D95402C5^9'
'1D95406C5^9'
'1D9540AC5^9'
'1D9540EC5^9'
'1D95412C5^9'
'1D95416C5^9'
'1D9541AC5^9'
'1D9541EC5^9'
'1D95422C5^9'
'1D95426C5^9'
'1D9542AC5^9'
'1D9542BF^9'
'1D954003D^9'
'1^1'
'D^1'
END_ARRAY 1 107
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /home/acpaquette/lroc_nac/ab103105.spice.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
DAFETF NAIF DAF ENCODED TRANSFER FILE
'DAF/CK '
'2'
'6'
' < DAFCAT: CK CONCATENATION > '
BEGIN_ARRAY 1 99
'Partly corrected data: -1.414s; 98-11-29'
'1D956C1AD^9'
'1D956EA05^9'
'-16F30'
'1'
'3'
'1'
99
'84B90D871F54D8^0'
'-25100A513E235A^0'
'-D04ADA0ED06DB8^0'
'-3839AB9839EBE8^0'
'-97513BE4D06F08^-4'
'-3E5B58EC61176C^-2'
'-249C7B7EB50B86^-2'
'84D96AF490FE78^0'
'-2518604B9C87C4^0'
'-D0364B3DDBC888^0'
'-3833E15E72974E^0'
'-9B711108B0905^-4'
'-3E6A69988A7198^-2'
'-249A8B0AB7C118^-2'
'854D44FB261A6^0'
'-25386E30CAAE76^0'
'-CFEBEE81DE31E^0'
'-381FA856DAAF78^0'
'-78E11491D5BFE^-4'
'-3E0F8E934C067A^-2'
'-246866B58971^-2'
'85C2825C3F77E8^0'
'-25587FBCED256^0'
'-CFA0AD2FB56618^0'
'-3809FFD5D42A8A^0'
'-7B49782E59EC5^-4'
'-3E04987E5FF724^-2'
'-245B7829015B8^-2'
'86350495A0515^0'
'-2578148E459B6A^0'
'-CF56A8B3656AB^0'
'-37F52C346974F^0'
'-AE5781B859EED^-4'
'-3D0BBE446B31F4^-2'
'-24187E0B6D3068^-2'
'86A84D939B39E8^0'
'-2595629109AB5C^0'
'-CF0BE215B26828^0'
'-37E16AA03DC706^0'
'-9F8D4E6B9FFA5^-4'
'-3D2D25129A8594^-2'
'-241F0F6418B59E^-2'
'871A7E9F6C5E7^0'
'-25B4E0B58BB7E6^0'
'-CEC15E24309968^0'
'-37CC7497F48D2C^0'
'-8BFB399E127AF^-4'
'-3D35528B677E7A^-2'
'-24291D706693F6^-2'
'878D8817FA2C2^0'
'-25D4B4613F59B6^0'
'-CE75BFDCB19DC^0'
'-37B7E4CACAC73^0'
'-98B066C759711^-4'
'-3CE6AF25021256^-2'
'-23C1FF80639FF^-2'
'880040A9168E18^0'
'-25F272C5FE33B8^0'
'-CE2A61A77E5358^0'
'-37A32AA94F9A26^0'
'-C81380186130B^-4'
'-3D364EF4F5F096^-2'
'-23C01310AB1992^-2'
'8871066C9B6AF^0'
'-2610D9B9AF56EA^0'
'-CDDFD5D19FBC38^0'
'-378E4FBB138DDE^0'
'-81980F4F53C11^-4'
'-3CD871C936227A^-2'
'-23AB3983C1B468^-2'
'88E1931E8F8C68^0'
'-262FC96791E354^0'
'-CD9530EF3A8F1^0'
'-37789E64AAE1A2^0'
'-81E6D25A3C246^-4'
'-3C71C490EF17DA^-2'
'-23C3C77719A19A^-2'
'893E671FE72B28^0'
'-2647D8C5A727F^0'
'-CD5760017204A^0'
'-37679F1E2E83CA^0'
'-A42413ABEA34B8^-4'
'-3CEBC1714CA468^-2'
'-240783A603330C^-2'
'1D956C1AD^9'
'1D956C2C5^9'
'1D956C6C5^9'
'1D956CAC5^9'
'1D956CEC5^9'
'1D956D2C5^9'
'1D956D6C5^9'
'1D956DAC5^9'
'1D956DEC5^9'
'1D956E2C5^9'
'1D956E6C5^9'
'1D956EA05^9'
'1D956C1AD^9'
'1^1'
'C^1'
END_ARRAY 1 99
TOTAL_ARRAYS 1
~NAIF/SPC BEGIN COMMENTS~
This CK is for testing with the image: /home/acpaquette/lroc_nac/ab103105.spice.cub
This CK was generated using the following command: {}
~NAIF/SPC END COMMENTS~
KPL/LSK
LEAPSECONDS KERNEL FILE
===========================================================================
Modifications:
--------------
2016, Jul. 14 NJB Modified file to account for the leapsecond that
will occur on December 31, 2016.
2015, Jan. 5 NJB Modified file to account for the leapsecond that
will occur on June 30, 2015.
2012, Jan. 5 NJB Modified file to account for the leapsecond that
will occur on June 30, 2012.
2008, Jul. 7 NJB Modified file to account for the leapsecond that
will occur on December 31, 2008.
2005, Aug. 3 NJB Modified file to account for the leapsecond that
will occur on December 31, 2005.
1998, Jul 17 WLT Modified file to account for the leapsecond that
will occur on December 31, 1998.
1997, Feb 22 WLT Modified file to account for the leapsecond that
will occur on June 30, 1997.
1995, Dec 14 KSZ Corrected date of last leapsecond from 1-1-95
to 1-1-96.
1995, Oct 25 WLT Modified file to account for the leapsecond that
will occur on Dec 31, 1995.
1994, Jun 16 WLT Modified file to account for the leapsecond on
June 30, 1994.
1993, Feb. 22 CHA Modified file to account for the leapsecond on
June 30, 1993.
1992, Mar. 6 HAN Modified file to account for the leapsecond on
June 30, 1992.
1990, Oct. 8 HAN Modified file to account for the leapsecond on
Dec. 31, 1990.
Explanation:
------------
The contents of this file are used by the routine DELTET to compute the
time difference
[1] DELTA_ET = ET - UTC
the increment to be applied to UTC to give ET.
The difference between UTC and TAI,
[2] DELTA_AT = TAI - UTC
is always an integral number of seconds. The value of DELTA_AT was 10
seconds in January 1972, and increases by one each time a leap second
is declared. Combining [1] and [2] gives
[3] DELTA_ET = ET - (TAI - DELTA_AT)
= (ET - TAI) + DELTA_AT
The difference (ET - TAI) is periodic, and is given by
[4] ET - TAI = DELTA_T_A + K sin E
where DELTA_T_A and K are constant, and E is the eccentric anomaly of the
heliocentric orbit of the Earth-Moon barycenter. Equation [4], which ignores
small-period fluctuations, is accurate to about 0.000030 seconds.
The eccentric anomaly E is given by
[5] E = M + EB sin M
where M is the mean anomaly, which in turn is given by
[6] M = M + M t
0 1
where t is the number of ephemeris seconds past J2000.
Thus, in order to compute DELTA_ET, the following items are necessary.
DELTA_TA
K
EB
M0
M1
DELTA_AT after each leap second.
The numbers, and the formulation, are taken from the following sources.
1) Moyer, T.D., Transformation from Proper Time on Earth to
Coordinate Time in Solar System Barycentric Space-Time Frame
of Reference, Parts 1 and 2, Celestial Mechanics 23 (1981),
33-56 and 57-68.
2) Moyer, T.D., Effects of Conversion to the J2000 Astronomical
Reference System on Algorithms for Computing Time Differences
and Clock Rates, JPL IOM 314.5--942, 1 October 1985.
The variable names used above are consistent with those used in the
Astronomical Almanac.
\begindata
DELTET/DELTA_T_A = 32.184
DELTET/K = 1.657D-3
DELTET/EB = 1.671D-2
DELTET/M = ( 6.239996D0 1.99096871D-7 )
DELTET/DELTA_AT = ( 10, @1972-JAN-1
11, @1972-JUL-1
12, @1973-JAN-1
13, @1974-JAN-1
14, @1975-JAN-1
15, @1976-JAN-1
16, @1977-JAN-1
17, @1978-JAN-1
18, @1979-JAN-1
19, @1980-JAN-1
20, @1981-JUL-1
21, @1982-JUL-1
22, @1983-JUL-1
23, @1985-JUL-1
24, @1988-JAN-1
25, @1990-JAN-1
26, @1991-JAN-1
27, @1992-JUL-1
28, @1993-JUL-1
29, @1994-JUL-1
30, @1996-JAN-1
31, @1997-JUL-1
32, @1999-JAN-1
33, @2006-JAN-1
34, @2009-JAN-1
35, @2012-JUL-1
36, @2015-JUL-1
37, @2017-JAN-1 )
\begintext
This diff is collapsed.
import os
import json
import unittest
from unittest.mock import patch, PropertyMock
import pytest
import numpy as np
import spiceypy as spice
import ale
from ale.drivers.juno_drivers import JunoJunoCamIsisLabelNaifSpiceDriver
from ale.base.data_naif import NaifSpice
from conftest import get_image_kernels, convert_kernels, get_image_label, compare_dicts
@pytest.fixture()
def isis_compare_dict():
return {
'CameraVersion': 1,
'NaifKeywords': {'BODY599_RADII': np.array([71492., 71492., 66854.]),
'BODY_FRAME_CODE': 10015,
'BODY_CODE': 599,
'INS-61500_ITRANSS': np.array([ 0. , 135.1351, 0. ]),
'INS-61500_DISTORTION_K1': -5.962420945566733e-08,
'INS-61500_DISTORTION_K2': 2.738191004225615e-14,
'FRAME_-61500_CLASS_ID': -61500.0,
'INS-61500_BORESIGHT': np.array([0., 0., 1.]),
'TKFRAME_-61500_RELATIVE': 'JUNO_JUNOCAM_CUBE',
'INS-61500_BORESIGHT_SAMPLE': 814.21,
'INS-61500_FOV_SHAPE': 'POLYGON',
'INS-61500_FILTER_OFFSET': 1.0,
'INS-61500_SWAP_OBSERVER_TARGET': 'TRUE',
'INS-61500_LIGHTTIME_CORRECTION': 'NONE',
'INS-61500_FOV_BOUNDARY_CORNERS': np.array([-0.47351727, -0.18862601, 0.86034971, -0.47852984, -0.11376363,
0.87067045, -0.47934991, -0.09577177, 0.87238262, -0.48125208]),
'INS-61500_PIXEL_PITCH': 0.0074,
'INS-61500_FOV_FRAME': 'JUNO_JUNOCAM',
'TKFRAME_-61500_ANGLES': np.array([ 0.69 , -0.469, 0.583]),
'FRAME_-61500_CENTER': -61.0,
'FRAME_-61500_CLASS': 4.0,
'FRAME_-61500_NAME': 'JUNO_JUNOCAM',
'INS-61500_LT_SURFACE_CORRECT': 'FALSE',
'TKFRAME_-61500_AXES': np.array([3., 2., 1.]),
'INS-61500_PIXEL_SIZE': 0.0074,
'TKFRAME_-61500_SPEC': 'ANGLES',
'INS-61500_DISTORTION_X': 814.21,
'INS-61500_DISTORTION_Y': 78.48,
'INS-61500_BORESIGHT_LINE': 600.0,
'INS-61500_FILTER_LINES': 1200.0,
'INS-61500_INTERFRAME_DELTA': 0.001,
'INS-61500_FILTER_NAME': 'FULLCCD',
'INS-61500_TRANSX': np.array([0. , 0.0074, 0. ]),
'INS-61500_TRANSY': np.array([0. , 0. , 0.0074]),
'TKFRAME_-61500_UNITS': 'DEGREES',
'INS-61500_ITRANSL': np.array([ 0. , 0. , 135.1351]),
'INS-61500_START_TIME_BIAS': 0.06188,
'INS-61500_FOCAL_LENGTH': 10.95637,
'INS-61500_FILTER_SAMPLES': 1648.0,
'BODY599_PM': np.array([284.95 , 870.536, 0. ]),
'BODY599_LONG_AXIS': 0.0,
'BODY599_NUT_PREC_DEC': np.array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]),
'BODY599_NUT_PREC_PM': np.array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]),
'BODY599_POLE_RA': np.array([ 2.68056595e+02, -6.49900000e-03, 0.00000000e+00]),
'BODY599_POLE_DEC': np.array([6.4495303e+01, 2.4130000e-03, 0.0000000e+00]),
'BODY599_NUT_PREC_RA': np.array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]),
'INS-61504_DISTORTION_K1': -5.962420945566733e-08,
'INS-61504_DISTORTION_K2': 2.738191004225615e-14,
'INS-61504_START_TIME_BIAS': 0.06188,
'INS-61504_FOV_FRAME': 'JUNO_JUNOCAM',
'INS-61504_FILTER_OFFSET': 284.52,
'INS-61504_FILTER_NAME': 'METHANE',
'INS-61504_FOV_BOUNDARY_CORNERS': np.array([-0.47351727, -0.18862601, 0.86034971, -0.47852984, -0.11376363,
0.87067045, 0.49067337, -0.11299511, 0.86398596, 0.48553839]),
'INS-61504_INTERFRAME_DELTA': 0.001,
'INS-61504_FILTER_SAMPLES': 1648.0,
'INS-61504_DISTORTION_X': 814.21,
'INS-61504_DISTORTION_Y': 315.48,
'INS-61504_PIXEL_SIZE': 0.0074,
'INS-61504_FILTER_LINES': 128.0,
'INS-61504_BORESIGHT': np.array([ 0.00854687, -0.16805056, 0.98574133]),
'INS-61504_FOCAL_LENGTH': 10.95637,
'INS-61504_FOV_SHAPE': 'RECTANGLE'},
'InstrumentPointing': {'TimeDependentFrames': [-61000, 1],
'CkTableStartTime': 525560475.1286545,
'CkTableEndTime': 525560475.1286545,
'CkTableOriginalSize': 1,
'EphemerisTimes': np.array([5.25560475e+08]),
'Quaternions': np.array([[-0.42623555, -0.55051779, 0.46456631, -0.5472034 ]]),
'AngularVelocity': np.array([[ 0.204182 , -0.00811453, -0.00786116]]),
'ConstantFrames': [-61500, -61505, -61000],
'ConstantRotation': np.array([ 0.0022409695777088, -0.002220557600931,
-0.99999502357726, 0.012486301868467,
-0.99991951530675, 0.0022483714915059,
-0.99991953192294, -0.012491278263463,
-0.0022130626614382])},
'BodyRotation': {'TimeDependentFrames': [10015, 1],
'CkTableStartTime': 525560475.1286545,
'CkTableEndTime': 525560475.1286545,
'CkTableOriginalSize': 1,
'EphemerisTimes': np.array([5.25560475e+08]),
'Quaternions': np.array([[-0.89966963, 0.20059167, -0.09209383, 0.37666467]]),
'AngularVelocity': np.array([[-2.56683271e-06, -7.56713067e-05, 1.58718697e-04]])},
'InstrumentPosition': {'SpkTableStartTime': 525560475.1286545,
'SpkTableEndTime': 525560475.1286545,
'SpkTableOriginalSize': 1,
'EphemerisTimes': [525560475.1286545],
'Positions': np.array([[ -7197.04131196, -382913.71404775, 145608.88474678]]),
'Velocities': np.array([[ 0.39087306, 24.13639337, 2.15702628]])},
'SunPosition': {'SpkTableStartTime': 525560475.0262545,
'SpkTableEndTime': 525560475.0262545,
'SpkTableOriginalSize': 1,
'EphemerisTimes': np.array([5.25560475e+08]),
'Positions': np.array([[814823700.57661,22018509.45354,-10399060.67075]]),
'Velocities': np.array([[-0.10070347311145,11.449085311077,4.9098525890309]])}}
@pytest.fixture(scope='module')
def test_kernels():
kernels = get_image_kernels('JNCR_2016240_01M06152_V01')
updated_kernels, binary_kernels = convert_kernels(kernels)
yield updated_kernels
for kern in binary_kernels:
os.remove(kern)
@pytest.mark.parametrize("label_type", ['isis3'])
@pytest.mark.parametrize("formatter", ['isis'])
def test_mro_load(test_kernels, label_type, formatter, isis_compare_dict):
label_file = get_image_label('JNCR_2016240_01M06152_V01', label_type)
usgscsm_isd_str = ale.loads(label_file, props={'kernels': test_kernels}, formatter=formatter)
usgscsm_isd_obj = json.loads(usgscsm_isd_str)
print(json.dumps(usgscsm_isd_obj, indent=4))
assert compare_dicts(usgscsm_isd_obj, isis_compare_dict) == []
# ========= Test isislabel and naifspice driver =========
class test_isis_naif(unittest.TestCase):
def setUp(self):
label = get_image_label("JNCR_2016240_01M06152_V01", "isis3")
self.driver = JunoJunoCamIsisLabelNaifSpiceDriver(label)
def test_instrument_id(self):
assert self.driver.instrument_id == "JUNO_JUNOCAM"
def test_ephemeris_start_time(self):
with patch('ale.base.data_naif.spice.scs2e', return_value=12345) as scs2e, \
patch('ale.drivers.juno_drivers.JunoJunoCamIsisLabelNaifSpiceDriver.naif_keywords', new_callable=PropertyMock) as naif_keywords, \
patch('ale.base.data_naif.spice.bods2c', return_value=-61500) as bods2c:
naif_keywords.return_value = {'INS-61500_INTERFRAME_DELTA': .1, 'INS-61500_START_TIME_BIAS': .1}
assert self.driver.ephemeris_start_time == 12348.446
scs2e.assert_called_with(-61500, '525560580:87')
def test_sensor_model_version(self):
assert self.driver.sensor_model_version == 1
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment