diff --git a/ale/drivers/juno_drivers.py b/ale/drivers/juno_drivers.py new file mode 100644 index 0000000000000000000000000000000000000000..b9bdaa889d609225ab69754f29c67ecbdacb295b --- /dev/null +++ b/ale/drivers/juno_drivers.py @@ -0,0 +1,70 @@ +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}*")} diff --git a/ale/drivers/voyager_drivers.py b/ale/drivers/voyager_drivers.py index f771c2f0fe99ddd3e6d7ca9a788d07145442c085..c1f9c267260feb7886adbe1ed9c5bcaccc45b65f 100644 --- a/ale/drivers/voyager_drivers.py +++ b/ale/drivers/voyager_drivers.py @@ -6,7 +6,7 @@ from ale.base.label_isis import IsisLabel from ale.base.type_sensor import Framer from ale.base.base import Driver -class VoyagerCameraLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver): +class VoyagerCameraIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver): @property def instrument_id(self): diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_METHANE_0008_0.xsp b/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_METHANE_0008_0.xsp new file mode 100644 index 0000000000000000000000000000000000000000..2da61649026e829180cdd6bb82b5b6637e33a1eb --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_METHANE_0008_0.xsp @@ -0,0 +1,278 @@ +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~ diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_METHANE_0008_1.xsp b/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_METHANE_0008_1.xsp new file mode 100644 index 0000000000000000000000000000000000000000..aa2df1db13f70ea495f3a9034fee108de63f7137 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_METHANE_0008_1.xsp @@ -0,0 +1,278 @@ +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~ diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_isis3.lbl b/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_isis3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..8874f31e2305631009582da8d2bf49f6666a45c2 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/JNCR_2016240_01M06152_V01_isis3.lbl @@ -0,0 +1,76 @@ +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 diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/jno_sclkscet_00090.tsc b/tests/pytests/data/JNCR_2016240_01M06152_V01/jno_sclkscet_00090.tsc new file mode 100644 index 0000000000000000000000000000000000000000..2d8b2d3714109387d8a60debe6995d50a98d6f1a --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/jno_sclkscet_00090.tsc @@ -0,0 +1,452 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "jno_sclkscet_00090.tsc" +MISSION_NAME = JUNO +SPACECRAFT_NAME = JUNO +DATA_SET_ID = "JNO-J/E/SS-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "jno_sclkscet_00090.tsc" +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 = "N/A" +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 = "N/A" +NAIF_INSTRUMENT_ID = "N/A" +SOURCE_PRODUCT_ID = "N/A" +NOTE = "See comments in the file for details" +OBJECT = SPICE_KERNEL + INTERCHANGE_FORMAT = ASCII + KERNEL_TYPE = CLOCK_COEFFICIENTS + DESCRIPTION = "SPICE SCLK file containing time correlation +data for the main JUNO on-board clock, created by NAIF, JPL. The original +name of this file was JNO_SCLKSCET.00090.tsc. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +JUNO SCLK File, for ``Standard'' and ``High Precision'' SCLK Formats +=========================================================================== + + This SCLK kernel contains correlation data for the JUNO on-board + clock tags presented either in ``standard'' or ``high precision'' + format. + + ``Standard'' JUNO on-board clock tags are derived from 5-byte tags + present in majority of the spacecraft and instrument telemetry and + utilizing only the last of the five bytes for fractional seconds. + This results in one SCLK tick being equal to 1/256 of a second. + The ID of this clock is -61, the same as of the JUNO spacecraft. + + ``High precision'' JUNO on-board clock tags are derived from + 6-byte tags present in some of the spacecraft and instrument + telemetry and utilizing the last two of the six bytes for + fractional seconds. This results in one SCLK tick being equal to + 1/65536 of a seconds. The ID of this clock is -61999. + + Although SCLK parameters for these two correlations are different, + having them in the same file and loading them at the same time + does not cause any conflicts in JUNO SPICE implementation. This is + because: 1) different IDs are used in the names of the keywords + used to store these parameters in this file, 2) different IDs must + be provided to get access to either of the two correlations, and + 3) a specific ID -- normally ID of the ``standard'' clock -- is + associated with each of the JUNO CK-based frames via definitions + in the JUNO Frames Kernel. + + +Production/History of This SCLK File +-------------------------------------------------------- + + The data in this file was generated by the NAIF utility program + MAKCLK, version 4.0.0, from the most recent JUNO spacecraft + SCLKvSCET file (see corresponding section of the description for + the SCLKvSCET contents and MAKCLK setup files). + + +Usage +-------------------------------------------------------- + + This file must be loaded into the user's program by a call to the + FURNSH subroutine + + CALL FURNSH( 'this_file_name' ) + + in order to use the SPICELIB SCLK family of subroutines to convert + either ``standard'' or ``high precision'' JUNO spacecraft on-board + clock to ET and vice versa. + + +SCLK Format +-------------------------------------------------------- + + As mentioned above this SCLK kernel supports conversion of the + JUNO on-board clock either in ``standard'' or ``high precision'' + format. + + The JUNO on-board clock tags in ``standard'' format, to be + converted using ID -61, have the following form: + + P/SSSSSSSSSS:FFF + + where: + + P/ -- optional partition identifier + + SSSSSSSSSS -- count of on-board seconds + + FFF -- count of fractions of a second with one + fraction being 1/256 of a second; normally this + field value is within 0..255 range. + + The JUNO on-board clock tags in ``high precision'' format, to be + converted using ID -61999, have the following form: + + P/SSSSSSSSSS:FFFFF + + where: + + P/ -- optional partition identifier + + SSSSSSSSSS -- count of on-board seconds + + FFFFF -- count of fractions of a second with one + fraction being 1/65536 of a second; normally + this field value is within 0..65535 range. + + +References +-------------------------------------------------------- + + 1. SCLK Required Reading Document + + 2. MAKCLK User's Guide Document + + 3. SFOC SCLKvSCET SIS Document + + +Inquiries +-------------------------------------------------------- + + If you have any questions regarding this file contact NAIF at JPL + + Charles H. Acton, Jr + (818) 354-3869 + Chuck.Acton@jpl.nasa.gov + + Boris V. Semenov + (818) 354-8136 + Boris.Semenov@jpl.nasa.gov + + +SCLKvSCET File Contents +-------------------------------------------------------- + + CCSD3ZS00001$$sclk$$NJPL3KS0L015$$scet$$ + MISSION-NAME=JUNO; + SPACECRAFT-NAME=JUNO; + DATA-SET-ID=SCLK-SCET; + FILE-NAME=JNO-SCLKSCET.00090; + PRODUCT-CREATION-TIME=2019-08-18T17:00:00; + PRODUCT-VERSION-ID=90; + PRODUCER-ID=SCT; + APPLICABLE-START-TIME=2000-001T00:00:00; + APPLICABLE-STOP-TIME=2021-365T00:00:00; + MISSION-ID=34; + SPACECRAFT-ID=61; + CCSD3RE00000$$scet$$NJPL3IS00613$$data$$ + + + +MAKCLK Setup Files +-------------------------------------------------------- + +MAKCLK Setup for ``Standard'' Format Clock + + SCLKSCET_FILE = JNO_SCLKSCET.00090.clean + OLD_SCLK_KERNEL = /sdma/naif/ops/projects/JUNO/scet/bin/juno_template.tsc + FILE_NAME = JNO_SCLKSCET.00090.tsc + NAIF_SPACECRAFT_ID = -61 + LEAPSECONDS_FILE = /sdma/naif/ops/projects/JUNO/lsk/juno.tls + PARTITION_TOLERANCE = 14 + LOG_FILE = JNO_SCLKSCET.00090.log + + +MAKCLK Setup for ``High Precision'' Format Clock + + SCLKSCET_FILE = JNO_SCLKSCET.00090.clean + OLD_SCLK_KERNEL = /sdma/naif/ops/projects/JUNO/scet/bin/juno_template_65536.tsc + FILE_NAME = JNO_SCLKSCET.00090.tsc + NAIF_SPACECRAFT_ID = -61999 + LEAPSECONDS_FILE = /sdma/naif/ops/projects/JUNO/lsk/juno.tls + PARTITION_TOLERANCE = 3584 + LOG_FILE = JNO_SCLKSCET.00090.log + + + +Kernel DATA for ``Standard'' Format Clock +-------------------------------------------------------- + +\begindata + + +SCLK_KERNEL_ID = ( @2019-08-18/17:03:03.00 ) + +SCLK_DATA_TYPE_61 = ( 1 ) +SCLK01_TIME_SYSTEM_61 = ( 2 ) +SCLK01_N_FIELDS_61 = ( 2 ) +SCLK01_MODULI_61 = ( 4294967296 256 ) +SCLK01_OFFSETS_61 = ( 0 0 ) +SCLK01_OUTPUT_DELIM_61 = ( 1 ) + +SCLK_PARTITION_START_61 = ( 0.0000000000000E+00 + 9.3793618176000E+10 + 1.1115002572800E+11 + 1.1208596224000E+11 + 1.1498689996800E+11 ) + +SCLK_PARTITION_END_61 = ( 9.3793616905000E+10 + 1.1115002561600E+11 + 1.1208596226400E+11 + 1.1498690015000E+11 + 1.0995116277750E+12 ) + +SCLK01_COEFFICIENTS_61 = ( + + 0.0000000000000E+00 6.4184000000000E+01 1.0000000000000E+00 + 4.8472473856000E+10 1.8934566518400E+08 1.0000000000106E+00 + 7.2714240512000E+10 2.8404006618500E+08 9.9999999998596E-01 + 9.3793616905000E+10 3.6638138021900E+08 9.9999830502084E-01 + 9.5755854601000E+10 3.7404635822700E+08 1.0009769999981E+00 + 9.5756110601000E+10 3.7404735920400E+08 9.9999861571600E-01 + 9.6339759625000E+10 3.7632723504800E+08 9.9999860983214E-01 + 9.6715058185000E+10 3.7779324301000E+08 9.9999867672148E-01 + 9.6891686153000E+10 3.7848319509700E+08 9.9999866448606E-01 + 9.7557413385000E+10 3.8108368862400E+08 9.9999871140751E-01 + 9.8076925961000E+10 3.8311303200900E+08 9.9999875092765E-01 + 9.8658170121000E+10 3.8538351417300E+08 9.9999878280577E-01 + 9.9961521673000E+10 3.9047472497600E+08 9.9999879327280E-01 + 1.0095944730500E+11 3.9437286727200E+08 9.9999879311537E-01 + 1.0213711744900E+11 3.9897313572000E+08 9.9999886086085E-01 + 1.0292457524100E+11 4.0204913921600E+08 9.9999846554930E-01 + 1.0302434253700E+11 4.0243885461800E+08 9.9999877775294E-01 + 1.0444692890500E+11 4.0799582582600E+08 9.9999874887262E-01 + 1.0517044916100E+11 4.1082207329000E+08 9.9999872396057E-01 + 1.0718307661700E+11 4.1868388925800E+08 9.9999868519590E-01 + 1.0766438938500E+11 4.2056401478600E+08 9.9999850961374E-01 + 1.0816406119300E+11 4.2251585487700E+08 9.9999837597460E-01 + 1.1115002434500E+11 4.3417975449700E+08 9.9999832720281E-01 + 1.1208596088100E+11 4.3783575047500E+08 9.9999848532368E-01 + 1.1233001566500E+11 4.3878908803100E+08 9.9999857803275E-01 + 1.1249852587300E+11 4.3944733009500E+08 9.9999862950081E-01 + 1.1288163883300E+11 4.4094386304400E+08 9.9999867732719E-01 + 1.1327415313700E+11 4.4247712001600E+08 9.9999872144903E-01 + 1.1380195064100E+11 4.4453882638000E+08 9.9999876230196E-01 + 1.1498689879100E+11 4.4916752436200E+08 9.9999976768437E-01 + 1.1527340554300E+11 4.5028669110200E+08 9.9999980316913E-01 + 1.1560376023100E+11 4.5157713884800E+08 9.9999975773588E-01 + 1.1637620643900E+11 4.5459450611700E+08 9.9999972223808E-01 + 1.1703150141500E+11 4.5715425140600E+08 9.9999969168399E-01 + 1.1822383651900E+11 4.6181180897000E+08 9.9999967239356E-01 + 1.1946708439100E+11 4.6666824437900E+08 9.9999963973550E-01 + 1.2363397847100E+11 4.8294516851500E+08 9.9999959524185E-01 + 1.2517911843900E+11 4.8898086907200E+08 9.9999926219015E-01 + 1.2521450967100E+11 4.8911911597000E+08 9.9999956075559E-01 + 1.2592554890300E+11 4.9189661175000E+08 9.9999900867701E-01 + 1.2616906992700E+11 4.9284786480700E+08 9.9999878685126E-01 + 1.2722544163900E+11 4.9697431180100E+08 9.9999897334378E-01 + 1.2793410339900E+11 4.9974251895900E+08 9.9999890872409E-01 + 1.2885861386300E+11 5.0335388401800E+08 9.9999883179019E-01 + 1.3102633405500E+11 5.1182153112600E+08 9.9999871955698E-01 + 1.3126285219900E+11 5.1274542894300E+08 9.9999873424891E-01 + 1.3149786839100E+11 5.1366345978100E+08 9.9999876447543E-01 + 1.3360032112700E+11 5.2187615563400E+08 9.9999873337884E-01 + 1.3424000727100E+11 5.2437492646900E+08 9.9999873799838E-01 + 1.3461568983100E+11 5.2584243461700E+08 9.9999875275023E-01 + 1.3492705648700E+11 5.2705870910000E+08 9.9999877250364E-01 + 1.3493456445500E+11 5.2708803706400E+08 9.9999875462295E-01 + 1.3574796631100E+11 5.3026538410700E+08 9.9999928991417E-01 + 1.3590479242300E+11 5.3087798567200E+08 9.9999873941198E-01 + 1.3691084989500E+11 5.3480789271800E+08 9.9999873182127E-01 + 1.3734425251900E+11 5.3650086957100E+08 9.9999873587748E-01 + 1.3762594672700E+11 5.3760123618000E+08 9.9999874719891E-01 + 1.3820607395900E+11 5.3986735534100E+08 9.9999874246538E-01 + 1.3888946826300E+11 5.4253686098400E+08 9.9999874455621E-01 + 1.3924080855100E+11 5.4390928226100E+08 9.9999874396394E-01 + 1.3990402519100E+11 5.4649996900700E+08 9.9999874246824E-01 + 1.4039606205500E+11 5.4842198559000E+08 9.9999874728460E-01 + 1.4101546531900E+11 5.5084152655900E+08 9.9999874386518E-01 + 1.4116913034300E+11 5.5144177980500E+08 9.9999874431179E-01 + 1.4128024074300E+11 5.5187580426000E+08 9.9999874717260E-01 + 1.4160902026300E+11 5.5316009765100E+08 9.9999875414573E-01 + 1.4218066979900E+11 5.5539310086900E+08 9.9999874959598E-01 + 1.4274532567100E+11 5.5759878511100E+08 9.9999874609444E-01 + 1.4335270794300E+11 5.5997136913600E+08 9.9999875456987E-01 + 1.4409783203900E+11 5.6288200651100E+08 9.9999875372472E-01 + 1.4476562672700E+11 5.6549057626000E+08 9.9999876249153E-01 + 1.4551593431100E+11 5.6842146163300E+08 9.9999874981450E-01 + 1.4573667594300E+11 5.6928373255500E+08 9.9999874603296E-01 + 1.4626624650300E+11 5.7135236496100E+08 9.9999875347161E-01 + 1.4691028797500E+11 5.7386814882500E+08 9.9999875544841E-01 + 1.4755000432700E+11 5.7636703771500E+08 9.9999875348134E-01 + 1.4796896317500E+11 5.7800359367500E+08 9.9999875594224E-01 + 1.4859617520700E+11 5.8045363762700E+08 9.9999875394968E-01 + 1.4914451901500E+11 5.8259560295800E+08 9.9999875464955E-01 + 1.4980027018300E+11 5.8515712776800E+08 9.9999875434084E-01 + 1.5044147287100E+11 5.8766182264800E+08 9.9999875442639E-01 + 1.5097933911100E+11 5.8976286003100E+08 9.9999875281165E-01 + 1.5153826672700E+11 5.9194616830800E+08 9.9999876516327E-01 + 1.5210485821500E+11 5.9415941357500E+08 9.9999875149201E-01 + 1.5281841392700E+11 5.9694673709500E+08 9.9999875571257E-01 + 1.5328688445500E+11 5.9877669781800E+08 9.9999875535207E-01 + 1.5386875504700E+11 6.0104962698900E+08 9.9999875421401E-01 + 1.5445810826300E+11 6.0335178512100E+08 9.9999873876120E-01 + 1.5504775075900E+11 6.0565507321600E+08 9.9999876079519E-01 + 1.5562969815100E+11 6.0792830239900E+08 9.9999875277992E-01 + 1.5622309463100E+11 6.1024625450800E+08 9.9999875813340E-01 + 1.5679039549500E+11 6.1246227075600E+08 9.9999875353106E-01 + 1.5732643773500E+11 6.1455618314600E+08 9.9999875679107E-01 + 1.5799587952700E+11 6.1717118689500E+08 9.9999875800000E-01 ) + +\begintext + + + +Kernel DATA for ``High Precision'' Format Clock +-------------------------------------------------------- + +\begindata + + +SCLK_KERNEL_ID = ( @2019-08-18/17:03:03.00 ) + +SCLK_DATA_TYPE_61999 = ( 1 ) +SCLK01_TIME_SYSTEM_61999 = ( 2 ) +SCLK01_N_FIELDS_61999 = ( 2 ) +SCLK01_MODULI_61999 = ( 4294967296 65536 ) +SCLK01_OFFSETS_61999 = ( 0 0 ) +SCLK01_OUTPUT_DELIM_61999 = ( 1 ) + +SCLK_PARTITION_START_61999 = ( 0.0000000000000E+00 + 2.4011166253056E+13 + 2.8454406586368E+13 + 2.8694006333440E+13 + 2.9436646391808E+13 ) + +SCLK_PARTITION_END_61999 = ( 2.4011165927604E+13 + 2.8454406557677E+13 + 2.8694006339633E+13 + 2.9436646438492E+13 + 2.8147497671065E+14 ) + +SCLK01_COEFFICIENTS_61999 = ( + + 0.0000000000000E+00 6.4184000000000E+01 1.0000000000000E+00 + 1.2408953307136E+13 1.8934566518400E+08 1.0000000000106E+00 + 1.8614845571072E+13 2.8404006618500E+08 1.0000000000000E+00 + 2.4011165927604E+13 3.6638138021900E+08 9.9999830502084E-01 + 2.4513498777780E+13 3.7404635822700E+08 1.0009769999981E+00 + 2.4513564313780E+13 3.7404735920400E+08 9.9999861571600E-01 + 2.4662978463924E+13 3.7632723504800E+08 9.9999860983214E-01 + 2.4759054895284E+13 3.7779324301000E+08 9.9999867672148E-01 + 2.4804271655092E+13 3.7848319509700E+08 9.9999866448606E-01 + 2.4974697826484E+13 3.8108368862400E+08 9.9999871140751E-01 + 2.5107693045940E+13 3.8311303200900E+08 9.9999875092765E-01 + 2.5256491550900E+13 3.8538351417300E+08 9.9999878280577E-01 + 2.5590149548212E+13 3.9047472497600E+08 9.9999879327280E-01 + 2.5845618510004E+13 3.9437286727200E+08 9.9999879311537E-01 + 2.6147102066868E+13 3.9897313572000E+08 9.9999886086085E-01 + 2.6348691261620E+13 4.0204913921600E+08 9.9999846554930E-01 + 2.6374231689396E+13 4.0243885461800E+08 9.9999877775294E-01 + 2.6738413799604E+13 4.0799582582600E+08 9.9999874887262E-01 + 2.6923634985140E+13 4.1082207329000E+08 9.9999872396057E-01 + 2.7438867613876E+13 4.1868388925800E+08 9.9999868519590E-01 + 2.7562083682484E+13 4.2056401478600E+08 9.9999850961374E-01 + 2.7689999665332E+13 4.2251585487700E+08 9.9999837599946E-01 + 2.8454406232225E+13 4.3417975449700E+08 9.9999832699831E-01 + 2.8694005985490E+13 4.3783575047500E+08 9.9999848532368E-01 + 2.8756484010194E+13 4.3878908803100E+08 9.9999857803275E-01 + 2.8799622623442E+13 4.3944733009500E+08 9.9999862950081E-01 + 2.8897699541202E+13 4.4094386304400E+08 9.9999867732719E-01 + 2.8998183203026E+13 4.4247712001600E+08 9.9999872144903E-01 + 2.9133299364050E+13 4.4453882638000E+08 9.9999876199868E-01 + 2.9436646090542E+13 4.4916752436200E+08 9.9999976768437E-01 + 2.9509991819054E+13 4.5028669110200E+08 9.9999980316913E-01 + 2.9594562619182E+13 4.5157713884800E+08 9.9999975773588E-01 + 2.9792308848430E+13 4.5459450611700E+08 9.9999972223808E-01 + 2.9960064362286E+13 4.5715425140600E+08 9.9999969168399E-01 + 3.0265302148910E+13 4.6181180897000E+08 9.9999967239356E-01 + 3.0583573604142E+13 4.6666824437900E+08 9.9999963973550E-01 + 3.1650298488622E+13 4.8294516851500E+08 9.9999959524185E-01 + 3.2045854320430E+13 4.8898086907200E+08 9.9999926219015E-01 + 3.2054914475822E+13 4.8911911597000E+08 9.9999956075559E-01 + 3.2236940519214E+13 4.9189661175000E+08 9.9999900867701E-01 + 3.2299281901358E+13 4.9284786480700E+08 9.9999878685126E-01 + 3.2569713059630E+13 4.9697431180100E+08 9.9999897334378E-01 + 3.2751130470190E+13 4.9974251895900E+08 9.9999890872409E-01 + 3.2987805148974E+13 5.0335388401800E+08 9.9999883179019E-01 + 3.3542741518126E+13 5.1182153112600E+08 9.9999871955698E-01 + 3.3603290162990E+13 5.1274542894300E+08 9.9999873424891E-01 + 3.3663454308142E+13 5.1366345978100E+08 9.9999876447543E-01 + 3.4201682208558E+13 5.2187615563400E+08 9.9999873337884E-01 + 3.4365441861422E+13 5.2437492646900E+08 9.9999873799838E-01 + 3.4461616596782E+13 5.2584243461700E+08 9.9999875275023E-01 + 3.4541326460718E+13 5.2705870910000E+08 9.9999877250364E-01 + 3.4543248500526E+13 5.2708803706400E+08 9.9999875462295E-01 + 3.4751479375662E+13 5.3026538410700E+08 9.9999928991417E-01 + 3.4791626860334E+13 5.3087798567200E+08 9.9999873941198E-01 + 3.5049177573166E+13 5.3480789271800E+08 9.9999873182127E-01 + 3.5160128644910E+13 5.3650086957100E+08 9.9999873587748E-01 + 3.5232242362158E+13 5.3760123618000E+08 9.9999874719891E-01 + 3.5380754933550E+13 5.3986735534100E+08 9.9999874246538E-01 + 3.5555703875374E+13 5.4253686098400E+08 9.9999874455621E-01 + 3.5645646989102E+13 5.4390928226100E+08 9.9999874396394E-01 + 3.5815430448942E+13 5.4649996900700E+08 9.9999874246824E-01 + 3.5941391886126E+13 5.4842198559000E+08 9.9999874728460E-01 + 3.6099959121710E+13 5.5084152655900E+08 9.9999874386518E-01 + 3.6139297367854E+13 5.5144177980500E+08 9.9999874431179E-01 + 3.6167741630254E+13 5.5187580426000E+08 9.9999874717260E-01 + 3.6251909187374E+13 5.5316009765100E+08 9.9999875414573E-01 + 3.6398251468590E+13 5.5539310086900E+08 9.9999874959598E-01 + 3.6542803371822E+13 5.5759878511100E+08 9.9999874609444E-01 + 3.6698293233454E+13 5.5997136913600E+08 9.9999875456987E-01 + 3.6889045002030E+13 5.6288200651100E+08 9.9999875372472E-01 + 3.7060000442158E+13 5.6549057626000E+08 9.9999876249153E-01 + 3.7252079183662E+13 5.6842146163300E+08 9.9999874981450E-01 + 3.7308589041454E+13 5.6928373255500E+08 9.9999874603296E-01 + 3.7444159104814E+13 5.7135236496100E+08 9.9999875347161E-01 + 3.7609033721646E+13 5.7386814882500E+08 9.9999875544841E-01 + 3.7772801107758E+13 5.7636703771500E+08 9.9999875348134E-01 + 3.7880054572846E+13 5.7800359367500E+08 9.9999875594224E-01 + 3.8040620853038E+13 5.8045363762700E+08 9.9999875394968E-01 + 3.8180996867886E+13 5.8259560295800E+08 9.9999875464955E-01 + 3.8348869166894E+13 5.8515712776800E+08 9.9999875434084E-01 + 3.8513017055022E+13 5.8766182264800E+08 9.9999875442639E-01 + 3.8650710812462E+13 5.8976286003100E+08 9.9999875281165E-01 + 3.8793796282158E+13 5.9194616830800E+08 9.9999876516327E-01 + 3.8938843703086E+13 5.9415941357500E+08 9.9999875149201E-01 + 3.9121513965358E+13 5.9694673709500E+08 9.9999875571257E-01 + 3.9241442420526E+13 5.9877669781800E+08 9.9999875535207E-01 + 3.9390401292078E+13 6.0104962698900E+08 9.9999875421401E-01 + 3.9541275715374E+13 6.0335178512100E+08 9.9999873876120E-01 + 3.9692224194350E+13 6.0565507321600E+08 9.9999876079519E-01 + 3.9841202726702E+13 6.0792830239900E+08 9.9999875277992E-01 + 3.9993112225582E+13 6.1024625450800E+08 9.9999875813340E-01 + 4.0138341246766E+13 6.1246227075600E+08 9.9999875353106E-01 + 4.0275568060206E+13 6.1455618314600E+08 9.9999875679107E-01 + 4.0446945158958E+13 6.1717118689500E+08 9.9999875800000E-01 ) + +\begintext + + +End of SCLK file. + diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/junoAddendum005.ti b/tests/pytests/data/JNCR_2016240_01M06152_V01/junoAddendum005.ti new file mode 100644 index 0000000000000000000000000000000000000000..a3374f43422a7e21605db37424f42bc94532611c --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/junoAddendum005.ti @@ -0,0 +1,71 @@ +\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' + diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_junocam_v03.ti b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_junocam_v03.ti new file mode 100644 index 0000000000000000000000000000000000000000..4ec19c8bdb8732b2d0e6d1ef79a41d4e8726be58 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_junocam_v03.ti @@ -0,0 +1,482 @@ +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. diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_sc_rec_160821_160827_v01_0_sliced_-61000.xc b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_sc_rec_160821_160827_v01_0_sliced_-61000.xc new file mode 100644 index 0000000000000000000000000000000000000000..78ea896afb887bd6557d358565fa8662d5d11a55 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_sc_rec_160821_160827_v01_0_sliced_-61000.xc @@ -0,0 +1,792 @@ +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~ diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_sc_rec_160821_160827_v01_1_sliced_-61000.xc b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_sc_rec_160821_160827_v01_1_sliced_-61000.xc new file mode 100644 index 0000000000000000000000000000000000000000..3377bc7e6498d4d10c9fb2f46f1ad314622abaa3 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_sc_rec_160821_160827_v01_1_sliced_-61000.xc @@ -0,0 +1,776 @@ +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~ diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_v12.tf b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_v12.tf new file mode 100644 index 0000000000000000000000000000000000000000..58baa81cba461674d49c6f058a9b02375f1c9ca4 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/juno_v12.tf @@ -0,0 +1,3695 @@ +KPL/FK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "juno_v12.tf" +MISSION_NAME = JUNO +SPACECRAFT_NAME = JUNO +DATA_SET_ID = "JNO-J/E/SS-SPICE-6-V1.0" +KERNEL_TYPE_ID = FK +PRODUCT_ID = "juno_v12.tf" +PRODUCT_CREATION_TIME = 2017-08-25T15:25:37 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = "N/A" +PRODUCT_VERSION_TYPE = ACTUAL +PLATFORM_OR_MOUNTING_NAME = "N/A" +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 = "N/A" +NAIF_INSTRUMENT_ID = "N/A" +SOURCE_PRODUCT_ID = "N/A" +NOTE = "See comments in the file for details" +OBJECT = SPICE_KERNEL + INTERCHANGE_FORMAT = ASCII + KERNEL_TYPE = FRAMES + DESCRIPTION = "SPICE FK file defining reference frames the +JUNO spacecraft, its structures, and science instruments, created by NAIF, +JPL. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Juno Frames Kernel +=============================================================================== + + This frame kernel contains complete set of frame definitions for the + Juno (JUNO) spacecraft, its structures and science instruments. This + frame kernel also contains name - to - NAIF ID mappings for JUNO + science instruments and s/c structures (see the last section of the + file.) + + +Version and Date +------------------------------------------------------------------------------- + + Version 1.2 -- June 24, 2017 -- Boris Semenov, NAIF + + Updated the JUNO_JUNOCAM frame alignment based on [14]. + + Version 1.1 -- June 8, 2017 -- Boris Semenov, NAIF + + Updated JUNO_JADE_* frame alignments based on [13]. + + Version 1.0 -- June 1, 2017 -- Boris Semenov, NAIF + + Updated JUNO_UVS_BASE alignment angles per [12]. + + Added a warning about time-dependency of the JUNO_CHU*_TO_SC, + JUNO_MOB_*B_TO_SC, and JUNO_SC_TO_MOB_*B alignments to the + comments in their sections. + + Version 0.9 -- September 8, 2016 -- Boris Semenov, NAIF + + Added JUNO_MAG_VIP4, JUNO_JSS, JUNO_JSO, JUNO_JH, and + JUNO_SUN_EQU_RTN frames for magnetospheric studies at Jupiter + defined in [9]. + + Updated JUNO_CHU*_TO_FGM_*B and JUNO_MOB_*B_TO_FGM_*B alignments + based on [10]. + + Updated JUNO_CHU*_TO_SC, JUNO_MOB_*B_TO_SC, and JUNO_SC_TO_MOB_*B + alignments based on a quick comparison of CHU, MOB and S/C CKs + for January-March 2016 time period, then again based on + quick comparison for August 6-19, 2016 period. + + Updated HGA alignment based on [11]. + + Version 0.8 -- November 5, 2014 -- Boris Semenov, NAIF + + Redefined SRU frames according to [6]. Note that the updated + SRU frames are very different from those defined in the + earlier version of this kernel. + + Version 0.7 -- September 16, 2014 -- Boris Semenov, NAIF + + Updated JIRAM alignments based on the information provided by + Alessandro Mura, INAF-IAPS on September 9 and 16, 2014. + + Version 0.6 -- September 17, 2013 -- Boris Semenov, NAIF + + Corrected the rotation order in the JEDI_090 and JEDI_270 frame + definitions. + + Added the JUNOCAM_CUBE frame; incorporated the JUNOCAM pre-launch + DCM and CCD twist into the JUNOCAM_CUBE and JUNOCAM frame + definitions. + + Incorporated actual JIRAM alignments provided by Alberto Adriani, + INAF-IAPS on September 16, 2013. + + Version 0.5 -- November 15, 2011 -- Boris Semenov, NAIF + + Changed MAG frames: + + -- added layers of "connection" fixed-offset frames + incorporating CHU? and MOB_?? to FGM_?? alignments + (CHU?_TO_FGM_??, MOB_??_TO_FGM_??, 6 frames), CHU? and + MOB_?? to spacecraft alignments (CHU?_TO_SC, MOB_??_TO_SC, + 6 frames), and spacecraft to MOB_?? alignments + (SC_TO_MOB_??, 2 frames) + + Version 0.4 -- November 4, 2011 -- Boris Semenov, NAIF + + Changed MAG frames and instrument names based on the calibration + reports and discussions with the MAG team as follows: + + -- renamed ASC_CHU1 -> ASC_CHUD, ASC_CHU2 -> ASC_CHUC, + ASC_CHU3 -> ASC_CHUB, ASC_CHU4 -> ASC_CHUA + + -- redefined MOB frames to have +Z between the directions of + CHU +Zs (s/c -Z) + + -- redefined MOB_OB and CHUA/B frames to have +X along s/c -X and + MOB_IB and CHUC/D frames to have +X along s/c +X + + -- redefined FGM_IB and FGM_OB frames to be CK-based with with + orientation provided by CKs relative to CHU*, MOB_*B or + J2000 frames + + Version 0.3 -- September 1, 2010 -- Boris Semenov, NAIF + + Changed MAG frames and instrument names based on review comments + by Jack Connerney as follows: + + -- terminology change: in-bound -> inboard, out-bound -> + outboard + + -- frame and instrument name change: ASC1 -> ASC_CHU1, ASC2 -> + ASC_CHU2, ASC3 -> ASC_CHU3, ASC4 -> ASC_CHU4 + + -- re-defined MOB_OB and MOB_IB frames to be co-aligned with + the FGM_OB and FGM_IB frames correspondingly + + Version 0.2 -- July 13, 2009 -- Boris Semenov, NAIF + + Re-defined JUNO_FGM_IB and JUNO_FGM_IB frames based on + the input from Jack Connerney. + + Version 0.1 -- June 12, 2009 -- Boris Semenov, NAIF + + Defined preliminary frames for all structures and instruments + based on CDR materials and draft MICDs. + + Version 0.0 -- February 3, 2009 -- Boris Semenov, NAIF + + Initial Release: bare-bones version with just two frames needed + to access JUNO nominal attitude CK file. + + +References +------------------------------------------------------------------------------- + + 1. ``Frames Required Reading'' + + 2. ``Kernel Pool Required Reading'' + + 3. ``C-Kernel Required Reading'' + + 4. JUNO Instrument ICDs and MICDs + + 5. JUNO CDR Materials. + + 6. JUNO-ME-11-5159_Pointing_Alignment Verification.xlsx + + 7. Updated JIRAM alignment angles provided in the updated FK + ``juno_v02.corretto.new.2.tf'' by Alberto Adriani, INAF-IAPS on + September 16, 2013. + + 8. E-mail ``Modifications to JUNO/JIRAM *tf and *ti kernel files.'' + from Alessandro Mura, INAF-IAPS, September 9 and 16, 2014. + + 9. ``Jupiter Coordinate Systems'', F. Bagenal & R. J. Wilson, LASP - + U of Colorado, TBD -- 07/15/16 + + 10. JN-DTU-TN-3105_v1_1_Juno_MAG_to_mASC_relative_orientation.pdf + + 11. E-mail stating the measured HGA electrical boresight direction, + from Kristen Francis, LMCO to William Folkner, JPL, 09/07/16 + + 12. juno_v08rev_tkg.tf; modified FK used by the UVS team, SWRI; + provided by Brad Trantham on 05/31/17 + + 13. ANODE_LOOK_ELC_DEFL_NONE_V02.CSV and ANODE_LOOK_ION_DEFL_NONE_V02.CSV + from JNO-J/SW-JAD-3-CALIBRATED-V1.0, provided by Rob Wilson, LASP + on 05/25/17. + + 14. E-mail from Mike Caplinger, MSSS re updated Junocam camera model, + 06/20/17 + + +Contact Information +------------------------------------------------------------------------------- + + Boris V. Semenov, NAIF/JPL, (818)-354-8136, bsemenov@spice.jpl.nasa.gov + + +Implementation Notes +------------------------------------------------------------------------------- + + This file is used by the SPICE system as follows: programs that make + use of this frame 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 + + This file was created and may be updated with a text editor or word + processor. + + +JUNO Frames +------------------------------------------------------------------------------- + + The following JUNO frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== ===================== ============ ======= + + Frames for Magnetospheric Studies at Jupiter: + --------------------------------------------- + JUNO_MAG_VIP4 IAU_JUPITER FIXED -61952 + JUNO_JSS J2000 DYNAMIC -61953 + JUNO_JSO J2000 DYNAMIC -61954 + JUNO_JH J2000 DYNAMIC -61955 + JUNO_SUN_EQU_RTN J2000 DYNAMIC -61956 + + Spacecraft frame: + ----------------- + JUNO_SPACECRAFT varies CK -61000 + JUNO_SPIN_AXIS J2000 CK -61900 + + Magnetometer and ASC CHU frames: + -------------------------------- + JUNO_ASC_CHUD J2000, SPACECRAFT CK -61111 + JUNO_ASC_CHUC J2000, SPACECRAFT CK -61112 + JUNO_MOB_IB J2000 CK -61113 + JUNO_FGM_IB MOB_IB, CHUD, CHUC CK -61114 + + JUNO_ASC_CHUB J2000, SPACECRAFT CK -61121 + JUNO_ASC_CHUA J2000, SPACECRAFT CK -61122 + JUNO_MOB_OB J2000 CK -61123 + JUNO_FGM_OB MOB_OB, CHUB, CHUA CK -61124 + + JUNO_CHUA_TO_FGM_OB CHUA FIXED -61131 (a) + JUNO_CHUB_TO_FGM_OB CHUB FIXED -61132 (b) + JUNO_CHUC_TO_FGM_IB CHUC FIXED -61133 (c) + JUNO_CHUD_TO_FGM_IB CHUD FIXED -61134 (d) + JUNO_MOB_OB_TO_FGM_OB MOB_OB FIXED -61135 (e) + JUNO_MOB_IB_TO_FGM_IB MOB_IB FIXED -61136 (f) + + JUNO_CHUA_TO_SC CHUA FIXED -61141 (g) + JUNO_CHUB_TO_SC CHUB FIXED -61142 (h) + JUNO_CHUC_TO_SC CHUC FIXED -61143 (i) + JUNO_CHUD_TO_SC CHUD FIXED -61144 (j) + JUNO_MOB_OB_TO_SC MOB_OB FIXED -61145 (k) + JUNO_MOB_IB_TO_SC MOB_IB FIXED -61146 (l) + + JUNO_SC_TO_MOB_OB SPACECRAFT FIXED -61155 (m) + JUNO_SC_TO_MOB_IB SPACECRAFT FIXED -61156 (n) + + JADE Frames: + ------------ + JUNO_JADE_E060 SPACECRAFT FIXED -61201 + JUNO_JADE_E180 SPACECRAFT FIXED -61202 + JUNO_JADE_E300 SPACECRAFT FIXED -61203 + JUNO_JADE_I SPACECRAFT FIXED -61204 + + JEDI Frames: + ------------ + JUNO_JEDI_090 SPACECRAFT FIXED -61301 + JUNO_JEDI_A180 SPACECRAFT FIXED -61302 + JUNO_JEDI_270 SPACECRAFT FIXED -61303 + + JIRAM Frames: + ------------- + JUNO_JIRAM_URF SPACECRAFT FIXED -61401 + JUNO_JIRAM_I JIRAM_URF FIXED -61410 + JUNO_JIRAM_I_LBAND JIRAM_IMAGER FIXED -61411 + JUNO_JIRAM_I_MBAND JIRAM_IMAGER FIXED -61412 + JUNO_JIRAM_S JIRAM_IMAGER FIXED -61420 + + JUNOCAM Frames: + --------------- + JUNO_JUNOCAM_CUBE SPACECRAFT FIXED -61505 + JUNO_JUNOCAM JUNOCAM_CUBE FIXED -61500 + + MWR Frames: + ----------- + JUNO_MWR_A1 SPACECRAFT FIXED -61601 + JUNO_MWR_A2 SPACECRAFT FIXED -61602 + JUNO_MWR_A3 SPACECRAFT FIXED -61603 + JUNO_MWR_A4 SPACECRAFT FIXED -61604 + JUNO_MWR_A5 SPACECRAFT FIXED -61605 + JUNO_MWR_A6 SPACECRAFT FIXED -61606 + + UVS Frames: + ----------- + JUNO_UVS_BASE SPACECRAFT FIXED -61700 + JUNO_UVS UVS_BASE CK -61701 + + WAVES Frames: + ----------- + JUNO_WAVES_MSC SPACECRAFT FIXED -61810 + JUNO_WAVES_ANTENNA SPACECRAFT FIXED -61820 + + Solar Array frames: + ------------------- + JUNO_SA1_HINGE SPACECRAFT FIXED -61010 + JUNO_SA1 SA1_HINGE CK -61011 + JUNO_SA2_HINGE SPACECRAFT FIXED -61020 + JUNO_SA2 SA2_HINGE CK -61021 + JUNO_SA3_HINGE SPACECRAFT FIXED -61030 + JUNO_SA3 SA3_HINGE CK -61031 + + Antenna frames: + --------------- + JUNO_HGA SPACECRAFT FIXED -61040 + JUNO_MGA SPACECRAFT FIXED -61050 + JUNO_LGA_FORWARD SPACECRAFT FIXED -61061 + JUNO_LGA_AFT SPACECRAFT FIXED -61062 + JUNO_LGA_TOROID SPACECRAFT FIXED -61063 + + ACS Sensor frames: + ------------------ + JUNO_SRU1 SPACECRAFT FIXED -61071 + JUNO_SRU2 SPACECRAFT FIXED -61072 + JUNO_SSS1 SPACECRAFT FIXED -61073 + JUNO_SSS2 SPACECRAFT FIXED -61074 + + Truster frames: + --------------- + JUNO_REM_FL1 SPACECRAFT FIXED -61081 + JUNO_REM_FL2 SPACECRAFT FIXED -61082 + JUNO_REM_FL3 SPACECRAFT FIXED -61083 + JUNO_REM_FL4 SPACECRAFT FIXED -61084 + JUNO_REM_FA1 SPACECRAFT FIXED -61085 + JUNO_REM_FA2 SPACECRAFT FIXED -61086 + + JUNO_REM_RL1 SPACECRAFT FIXED -61091 + JUNO_REM_RL2 SPACECRAFT FIXED -61092 + JUNO_REM_RL3 SPACECRAFT FIXED -61093 + JUNO_REM_RL4 SPACECRAFT FIXED -61094 + JUNO_REM_RA1 SPACECRAFT FIXED -61095 + JUNO_REM_RA2 SPACECRAFT FIXED -61096 + + +JUNO Frames Hierarchy +------------------------------------------------------------------------------- + + The diagram below shows the JUNO frames hierarchy: + + JUNO_MAG_VIP4 JUNO_JSO JUNO_SUN_EQU_RTN + -------------- -------- ---------------- + ^ ^ ^ + |<-fxd |<-dyn dyn->| + | | | + | JUNO_JSS | JUNO_JH | + | -------- | ------- | + | ^ | ^ | + | |<-dyn | |<-dyn | + | | | | | + | | | "J2000" INERTIAL | | + +----------------------------------------------------------------+ + | | | | | | | | | | + |<-pck | | | ck->| |<-ck | | | pck->| + | | | | | | | | | | + V | | | V | | | | V + "IAU_JUPITER" | | | "JUNO_SPIN_AXIS" | | | | "IAU_EARTH" + ------------- | | | ---------------- | | | | ----------- + | | | | | | | | + ck->| | |<-ck ck->| | ck->| | |<-ck + | | | | | | | | + V | V | | V | V + "JUNO_ASC_CHUD" | "JUNO_ASC_CHUC" | | "JUNO_ASC_CHUB" | "JUNO_ASC_CHUA" + --------------- | --------------- | | --------------- | --------------- + | | | | | | | | | | | | + | | |<-ck | | | | | | |<-ck | | + | | | | | | | | | | | | + | | | | | | | | | | | | + | | | | | fxd | | fxd | | | | | + | | "(n)"<-----------------. | | .----------------->"(m)" | | + | | ----- | | | | | | | | | | ----- | | + | | | | | | ck | | | | ck | | | | | | + | | | | "(l)"-------. | | | | .-------"(k)" | | | | + | | | | ----- | | | | | | | | | | ----- | | | | + | | | | ^ | | | | | | | | | | ^ | | | | + | |ck>| |fx>| | | | | | | | | | | |<fx| |<ck| | + | | | | | | | | | | | | | | | | | | | | + | | V V | | | | | | | | | | V V | | + | | "JUNO_MOB_IB" | | | | | | | | | | "JUNO_MOB_OB" | | + | | ------------- | | | | | | | | | | ------------- | | + | | | | | | | | | | | | | | | | + | |<-fxd | fxd->| | | | | | | | | |<-fxd | fxd->| | + | | | | | | | | | | | | | | | | + | | fxd->| | | | | | | | | | | fxd->| | | + | | | | | | | | | | | | | | | | + | V V V | | | | | | | | V V v | + | "(d)" "(f)" "(c)" | | | | | | | | "(b)" "(e)" "(a)" | + | ----- ----- ----- | | | | | | | | ----- ----- ----- | + | | | | | | | | | | | | | | | | + | |<-ck | ck->| | | | | | | | | |<-ck | ck->| | + | | | | | | | | | | | | | | | | + | | |<-ck | | | | | | | | | | |<-ck | | + | | | | | | | | | | | | | | | | + | V V V | | | | | | | | V V V | + | "JUNO_FGM_IB" | | | | | | | | "JUNO_FGM_OB" | + | ------------- | | | | | | | | ------------- | + | | | | | | | | | | + | | | | | | | | | | + |<-fxd fxd->| | | | | | | |<-fxd fxd->| + | | | | | | | | | | + V V | | | | | | V V + "(j)" "(i)" | | | | | | "(h)" "(g)" + ----- ----- | | | | | | ----- ----- + | | | | | | | | | | + |<-ck ck->| | | | | | | |<-ck |<-ck + | | | | | | | | | | + V V V | V V | V V V + "JUNO_SPACECRAFT" + +-----------------------------------------------------------------+ + | | | | | | | | | | | | | | + fxd->| | | | | | | fxd->| | | | | | | + | | | | | | | | | | | | | | + V | | | | | | V | | | | | | + "JUNO_JADE_*" | | | | | | "JUNO_HGA" | | | | | | + ------------- | | | | | | ---------- | | | | | | + | | | | | | | | | | | | + fxd->| | | | | | fxd->| | | | | | + | | | | | | | | | | | | + V | | | | | V | | | | | + "JUNO_JEDI_*" | | | | | "JUNO_MGA" | | | | | + ------------- | | | | | ---------- | | | | | + | | | | | | | | | | + fxd->| | | | | fxd->| | | | | + | | | | | | | | | | + V | | | | V | | | | + "JUNO_JIRAM_URF" | | | | "JUNO_LGA_*" | | | | + ---------------- | | | | ------------ | | | | + | | | | | | | | | + fxd->| | | | | fxd->| | | | + | | | | | | | | | + V | | | | V | | | + "JUNO_JIRAM_S" | | | | "JUNO_REM_*" | | | + -------------- | | | | ------------ | | | + | | | | | | | | + fxd->| | | | |<-fxd fxd->| | | + | | | | | | | | + V | | | V V | | + "JUNO_JIRAM_I" | | | "JUNO_WAVES_*" "JUNO_SRU*" | | + -------------- | | | -------------- ----------- | | + | | | | | | + fxd->| | | |<-fxd fxd->| | + | | | | | | + V | | V V | + "JUNO_JIRAM_I_*BAND" | | "JUNO_UVS_BASE" "JUNO_SSS*" | + -------------------- | | --------------- ----------- | + | | | | + fxd->| | |<-ck fxd->| + | | | | + V | V V + "JUNO_JUNOCAM_CUBE" | "JUNO_UVS" "JUNO_SA*_HINGE" + ------------------- | ---------- ---------------- + | | | + fxd->| | | + | | | + V | | + "JUNO_JUNOCAM" | | + -------------- | | + | | + fxd->| ck->| + | | + V V + "JUNO_MWR_A*" "JUNO_SA*" + ------------- ---------- + + +Spacecraft Orientation Frame Chains + + Possible "J2000" -> "JUNO_SPACECRAFT" frame chains are: + + -- using data from a nominal spacecraft CK: + + "J2000" + -ck-> "JUNO_SPIN_AXIS" + -ck-> "JUNO_SPACECRAFT" + + -- using data from a reconstructed spacecraft CK: + + "J2000" + -ck-> "JUNO_SPACECRAFT" + + -- using data from a reconstructed MOB_## CK, the MOB_##-to-S/C + alignment fixed-offset frame, and an alignment frame-to-s/c + "coverage" CK: + + "J2000" + -ck-> "JUNO_MOB_##" + -fxd-> "JUNO_MOB_##_TO_SC" + -ck-> "JUNO_SPACECRAFT" + + -- using data from a reconstructed CHU# CK, the CHU#-to-S/C + alignment fixed-offset frame, and an alignment frame-to-s/c + "coverage" CK: + + "J2000" + -ck-> "JUNO_ASC_CHU#" + -fxd-> "JUNO_CHU#_TO_SC" + -ck-> "JUNO_SPACECRAFT" + + +Magnetometer Sensor Frame Chains + + Possible "J2000" -> "JUNO_FGM_IB" frame chains are (same for OB): + + -- using data from a nominal spacecraft CK, the s/c-to-MOB_IB + alignment fixed-offset frame, an alignment frame-to-MOB_IB + "coverage" CK, the MOB_IB-to-FGM_IB alignment fixed-offset + frame, and an alignment-to-FGM_IB "coverage" CK: + + "J2000" + -ck-> "JUNO_SPIN_AXIS" + -ck-> "JUNO_SPACECRAFT" + -fxd-> "JUNO_SC_TO_MOB_IB" + -ck-> "JUNO_MOB_IB" + -fxd-> "JUNO_MOB_IB_TO_FGM_IB" + -ck-> "JUNO_FGM_IB" + + -- using data from a reconstructed spacecraft CK, the s/c-to-MOB_IB + alignment fixed-offset frame, an alignment frame-to-MOB_IB + "coverage" CK, the MOB_IB-to-FGM_IB alignment fixed-offset + frame, and an alignment-to-FGM_IB "coverage" CK: + + "J2000" + -ck-> "JUNO_SPACECRAFT" + -fxd-> "JUNO_SC_TO_MOB_IB" + -ck-> "JUNO_MOB_IB" + -fxd-> "JUNO_MOB_IB_TO_FGM_IB" + -ck-> "JUNO_FGM_IB" + + -- using data from a reconstructed MOB_IB CK, the MOB_IB-to-FGM_IB + alignment fixed-offset frame, and an alignment-to-FGM_IB + "coverage" CK: + + "J2000" + -ck-> "JUNO_MOB_IB" + -fxd-> "JUNO_MOB_IB_TO_FGM_IB" + -ck-> "JUNO_FGM_IB" + + -- using data from a reconstructed CHU# CK, the CHU#-to-FGM_IB + alignment fixed-offset frame, and an alignment-to-FGM_IB + "coverage" CK: + + "J2000" + -ck-> "JUNO_ASC_CHU#" + -fxd-> "JUNO_CHU#_TO_FGM_IB" + -ck-> "JUNO_FGM_IB" + + +Frames for Magnetospheric Studies at Jupiter +------------------------------------------------------------------------------- + + This section defines a few frames for magnetospheric studies at + Jupiter described in [9]. + + +Jupiter Magnetic VIP4 Frame + + The JUNO_MAG_VIP4 frame implements the JUNO mission Jupiter + Magnetic VIP4 (MAG_VIP4) reference frame described in [9]. + + It is defined as a fixed offset frame with respect to the + IAU_JUPITER frame (which is equivalent to the System III right + handed frame when used with pck00010.tpc) as follows: + + - +Z axis is along planetocentric LON=159.2 deg/LAT=80.5 deg in + in the IAU_JUPITER frame + + - +Y axis is along planetocentric LON=249.2 deg/LAT=0 deg in + the IAU_JUPITER frame + + - +X completes the right handed frame + + - the center is at the center of Jupiter. + + Two rotations are needed to align the IAU_JUPITER frame with the + JUNO_MAG_VIP4 frame: first by +159.2 degrees about Z, second by +9.5 + degrees about Y. + + The keywords below implement the JUNO_MAG_VIP4 frame. Since the + frame definition below contains the reverse transformation -- from + the JUNO_MAG_VIP4 frame to the IAU_JUPITER frame -- the order of + rotations is reversed and the signs of rotation angles are changed + to the opposite ones compared to the description above. + + \begindata + + FRAME_JUNO_MAG_VIP4 = -61952 + FRAME_-61952_NAME = 'JUNO_MAG_VIP4' + FRAME_-61952_CLASS = 4 + FRAME_-61952_CLASS_ID = -61952 + FRAME_-61952_CENTER = 599 + TKFRAME_-61952_SPEC = 'ANGLES' + TKFRAME_-61952_RELATIVE = 'IAU_JUPITER' + TKFRAME_-61952_ANGLES = ( 0, -159.2, -9.5 ) + TKFRAME_-61952_AXES = ( 2, 3, 2 ) + TKFRAME_-61952_UNITS = 'DEGREES' + + \begintext + + +Jupiter-De-Spun-Sun Frame + + The JUNO_JSS frame implements the JUNO mission Jupiter-De-Spun-Sun + (JSS) reference frame described in [9]. + + It is defined as a dynamic frame as follows: + + - +Z axis is along the Jupiter north pole (+Z of the IAU_JUPITER + frame) + + - +X axis is in the direction of the geometric position of the + Sun as seen from Jupiter + + - +Y completes the right handed frame + + - the center is at the center of Jupiter. + + The keywords below implement the JUNO_JSS frame as a dynamic frame. + + \begindata + + FRAME_JUNO_JSS = -61953 + FRAME_-61953_NAME = 'JUNO_JSS' + FRAME_-61953_CLASS = 5 + FRAME_-61953_CLASS_ID = -61953 + FRAME_-61953_CENTER = 599 + FRAME_-61953_RELATIVE = 'J2000' + FRAME_-61953_DEF_STYLE = 'PARAMETERIZED' + FRAME_-61953_FAMILY = 'TWO-VECTOR' + FRAME_-61953_PRI_AXIS = 'Z' + FRAME_-61953_PRI_VECTOR_DEF = 'CONSTANT' + FRAME_-61953_PRI_FRAME = 'IAU_JUPITER' + FRAME_-61953_PRI_SPEC = 'RECTANGULAR' + FRAME_-61953_PRI_VECTOR = ( 0, 0, 1 ) + FRAME_-61953_SEC_AXIS = 'X' + FRAME_-61953_SEC_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' + FRAME_-61953_SEC_OBSERVER = 'JUPITER' + FRAME_-61953_SEC_TARGET = 'SUN' + FRAME_-61953_SEC_ABCORR = 'NONE' + + \begintext + + +Jupiter-Sun-Orbit Frame + + The JUNO_JSO frame implements the JUNO mission Jupiter-Sun-Orbit + (JSO) reference frame described in [9]. + + It is defined as a dynamic frame as follows: + + - +X axis is along the geometric position of the Sun as seen + from Jupiter + + - +Y axis is in the direction of the inertial geometric velocity + of the Sun as seen from Jupiter + + - +Z completes the right handed frame + + - the center is at the center of Jupiter. + + The keywords below implement the JUNO_JSO frame as a dynamic frame. + + \begindata + + FRAME_JUNO_JSO = -61954 + FRAME_-61954_NAME = 'JUNO_JSO' + FRAME_-61954_CLASS = 5 + FRAME_-61954_CLASS_ID = -61954 + FRAME_-61954_CENTER = 599 + FRAME_-61954_RELATIVE = 'J2000' + FRAME_-61954_DEF_STYLE = 'PARAMETERIZED' + FRAME_-61954_FAMILY = 'TWO-VECTOR' + FRAME_-61954_PRI_AXIS = 'X' + FRAME_-61954_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' + FRAME_-61954_PRI_OBSERVER = 'JUPITER' + FRAME_-61954_PRI_TARGET = 'SUN' + FRAME_-61954_PRI_ABCORR = 'NONE' + FRAME_-61954_SEC_AXIS = 'Y' + FRAME_-61954_SEC_VECTOR_DEF = 'OBSERVER_TARGET_VELOCITY' + FRAME_-61954_SEC_OBSERVER = 'JUPITER' + FRAME_-61954_SEC_TARGET = 'SUN' + FRAME_-61954_SEC_ABCORR = 'NONE' + FRAME_-61954_SEC_FRAME = 'J2000' + + \begintext + + +Jupiter Heliospheric Frame + + The JUNO_JH frame implements the JUNO mission Jupiter Heliospheric + (JH) reference frame described in [9]. + + It is defined as a dynamic frame as follows: + + - +X axis is along the geometric position of the Sun as seen + from Jupiter + + - +Z axis is in the direction of the Sun north pole. + + - +Y completes the right handed frame + + - the center is at the center of Jupiter. + + The keywords below implement the JUNO_JH frame as a dynamic frame. + + \begindata + + FRAME_JUNO_JH = -61955 + FRAME_-61955_NAME = 'JUNO_JH' + FRAME_-61955_CLASS = 5 + FRAME_-61955_CLASS_ID = -61955 + FRAME_-61955_CENTER = 599 + FRAME_-61955_RELATIVE = 'J2000' + FRAME_-61955_DEF_STYLE = 'PARAMETERIZED' + FRAME_-61955_FAMILY = 'TWO-VECTOR' + FRAME_-61955_PRI_AXIS = 'X' + FRAME_-61955_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' + FRAME_-61955_PRI_OBSERVER = 'JUPITER' + FRAME_-61955_PRI_TARGET = 'SUN' + FRAME_-61955_PRI_ABCORR = 'NONE' + FRAME_-61955_SEC_AXIS = 'Z' + FRAME_-61955_SEC_VECTOR_DEF = 'CONSTANT' + FRAME_-61955_SEC_FRAME = 'IAU_SUN' + FRAME_-61955_SEC_SPEC = 'RECTANGULAR' + FRAME_-61955_SEC_VECTOR = ( 0, 0, 1 ) + + \begintext + + +Juno Solar Equatorial RTN Frame + + The JUNO_SUN_EQU_RTN frame implements the JUNO mission JUNO RTN + reference frame described in [9]. + + It is defined as a dynamic frame as follows: + + - +X axis is along the geometric position of Juno as seen + from the Sun + + - +Z axis is in the direction of the Sun north pole. + + - +Y completes the right handed frame + + - the center is at the JUNO spacecraft. + + The keywords below implement the JUNO_SUN_EQU_RTN frame as a dynamic + frame. + + \begindata + + FRAME_JUNO_SUN_EQU_RTN = -61956 + FRAME_-61956_NAME = 'JUNO_SUN_EQU_RTN' + FRAME_-61956_CLASS = 5 + FRAME_-61956_CLASS_ID = -61956 + FRAME_-61956_CENTER = -61 + FRAME_-61956_RELATIVE = 'J2000' + FRAME_-61956_DEF_STYLE = 'PARAMETERIZED' + FRAME_-61956_FAMILY = 'TWO-VECTOR' + FRAME_-61956_PRI_AXIS = 'X' + FRAME_-61956_PRI_VECTOR_DEF = 'OBSERVER_TARGET_POSITION' + FRAME_-61956_PRI_OBSERVER = 'SUN' + FRAME_-61956_PRI_TARGET = 'JUNO' + FRAME_-61956_PRI_ABCORR = 'NONE' + FRAME_-61956_SEC_AXIS = 'Z' + FRAME_-61956_SEC_VECTOR_DEF = 'CONSTANT' + FRAME_-61956_SEC_FRAME = 'IAU_SUN' + FRAME_-61956_SEC_SPEC = 'RECTANGULAR' + FRAME_-61956_SEC_VECTOR = ( 0, 0, 1 ) + + \begintext + + +Spacecraft Bus Frame +------------------------------------------------------------------------------- + + The spacecraft frame (or AACS control frame) is defined by the s/c design + as follows [from 5]: + + - +Z axis is along the nominal spin axis and points in the + direction of the nominal HGA boresight + + - +X axis is along the solar array 1 symmetry axis and points + towards the magnetometer boom + + - +Y axis completes the right-handed frame + + - the origin of the frame is centered on the launch vehicle + separation plane. + + These diagrams illustrates the s/c frame: + + Spacecraft +Z side view: + ------------------------ + + .-\ + .-' \ + .-' \ Solar Array 3 + .-' \ + \ .-'\ + \ .-' \ + \ ,-' \ + \-' .-'\ + \ .-' \ + \ .-' \ + \-' .-'\ <-. Spin Direction + \ .-' \ `. + \ .-' \. + \-' .-' `-. + \ .-' `-. + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | / | \ | | | |``--.. + | ' | +Xsc | | | | `--.. + | | o------> | | | | | | + | . +Zsc , | | | | ..--'' + | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / `-. .-' + / `-. .-' + /`-. /' + / `-. / + / `-. / + /`-. `-/ + / `-. / + / `-. / + /`-. `-/ + / `-. / + / `-. / + /. `-/ + `-. / Solar Array 2 +Zsc is out of + `-. / the page. + `-. / + ` + + + Spacecraft -Y side view: + ------------------------ + o + / \ + .-----------------, HGA + \ / + `. .' + `-------' + | | Magnetometer + | | Boom + ================o==o==o==o-----------o======o======o======o===========* + Solar | | | Solar Array 1 + Array 2 | | | + | | + | | + | +Zsc ^ | + | | | + | | | + | | | +Ysc is into + `----- +Ysc x------> -' the page. + /_____\ +Xsc + + + Since the S/C bus attitude with respect to an inertial frame is provided + by a C kernel (see [3] for more information), this frame is defined as + a CK-based frame. + + \begindata + + FRAME_JUNO_SPACECRAFT = -61000 + FRAME_-61000_NAME = 'JUNO_SPACECRAFT' + FRAME_-61000_CLASS = 3 + FRAME_-61000_CLASS_ID = -61000 + FRAME_-61000_CENTER = -61 + CK_-61000_SCLK = -61 + CK_-61000_SPK = -61 + + \begintext + + +Spin Axis Frame +------------------------------------------------------------------------------- + + + The JUNO_SPIN_AXIS frame is a special frame used in the nominal + orientation CK files. In these files the JUNO_SPACECRAFT frame + orientation is not stored relative to the J2000 frame. Instead it is + "decomposed" into two orientations: the nominal spin axis + orientation captured in the segments providing the orientation of + the JUNO_SPIN_AXIS frame relative to the J2000 frame and the nominal + rotation about the spin axis captured in the segments providing the + orientation of the JUNO_SPACECRAFT frame relative to the + JUNO_SPIN_AXIS frame. + + JUNO_SPIN_AXIS is defined as a CK-based frame. + + \begindata + + FRAME_JUNO_SPIN_AXIS = -61900 + FRAME_-61900_NAME = 'JUNO_SPIN_AXIS' + FRAME_-61900_CLASS = 3 + FRAME_-61900_CLASS_ID = -61900 + FRAME_-61900_CENTER = -61 + CK_-61900_SCLK = -61 + CK_-61900_SPK = -61 + + \begintext + + +Magnetometer Frames +------------------------------------------------------------------------------- + + The set of frames for the Magnetometer experiment includes + + - two fluxgate magnetometer (FGM) frames (JUNO_FGM_IB and + JUNO_FGM_OB) + + - two magnetometer optical bench (MOB) frames (JUNO_MOB_IB and + JUNO_MOB_OB) + + - four Advanced Stellar Compass (ASC) Camera Head Unit (CHU) + frames (JUNO_ASC_CHUA, JUNO_ASC_CHUB, JUNO_ASC_CHUC, and + JUNO_ASC_CHUD. + + The set also includes an additional set of fixed-offset frames + incorporating relative alignment data for + + - FGM_## relative to CHU# (JUNO_CHU#_TO_FGM_##) + + - FGM_## relative to MOB_## (JUNO_MOB_##_TO_FGM_##) + + - spacecraft relative to CHU# (JUNO_CHU#_TO_SC) + + - spacecraft relative to MOB_## (JUNO_MOB_##_TO_SC) + + - MOB_## relative to spacecraft (JUNO_SC_TO_MOB_##) + + The "alignment" frames facilitate the ability to easily change the + values of alignments and to switch different alignment sets by + storing alignments directly in the FK (instead of CKs) while using + "coverage" CKs to store zero-offset rotations from these alignment + frames to the desired structure frames by simply constraining + coverages available to SPICE. + + +FGM Frames + + The FGM frames -- JUNO_FGM_IB and JUNO_FGM_OB -- are the frames with + respect to which the FGM sensors were calibrated. These frames are + defined by the orthogonal faces of the alignment cubes mounted on + the optical benches as follows: + + - +Z axis is the normal to the top side of the alignment cube + (the side parallel to the optical bench plane) and pointing + away from the bench; nominally points in the same direction as + the s/c +Z axis. + + - +X axis is the normal to the side of the cube facing the FGM + sensor mounted on the bench; for OB FGM nominally points in + the same direction as the s/c +X axis, for IB FGM nominally + points in the same direction as the s/c -X axis + + - +Y axis completes the right-handed frame + + - the origin of the frame is in the geometric center of the FGM + enclosures + + The OB FGM frame is nominally co-aligned with the spacecraft frame. + + The IB FGM frame is nominally rotated from the spacecraft frame by + 180 degrees about Z. + + This diagram illustrates the FGM frames: + + Spacecraft -Z side view: + ------------------------ + + + Magnetometer Boom + + /```---... + | ```---.. +Yfgm_ib + | ^ . + | | ```---... + | | CHUD CHUB... + +Zsc +Xsc | .-|--@. .@----.| +Xfgm_ob + x------> | <------x @ | | @ x------> + | | +Xfgm_ib `----@' `@--|-'| + | | CHUC CHUA'''| + | | ...---''' | + v | /''' V + +Ysc | ...---'''\ / +Yfgm_ob + \...---''' --- + + + +Zsc, +Zfgm_ib, +Zfgm_ob, + are into the page. + + + The FGM frames are defined as CK-based frames because their + orientation can be provided with respect to either one of the CHU + frames (of the two CHUs mounted on the bench) or with respect to the + bench's MOB frame. + + \begindata + + FRAME_JUNO_FGM_IB = -61114 + FRAME_-61114_NAME = 'JUNO_FGM_IB' + FRAME_-61114_CLASS = 3 + FRAME_-61114_CLASS_ID = -61114 + FRAME_-61114_CENTER = -61 + CK_-61114_SCLK = -61 + CK_-61114_SPK = -61 + + FRAME_JUNO_FGM_OB = -61124 + FRAME_-61124_NAME = 'JUNO_FGM_OB' + FRAME_-61124_CLASS = 3 + FRAME_-61124_CLASS_ID = -61124 + FRAME_-61124_CENTER = -61 + CK_-61124_SCLK = -61 + CK_-61124_SPK = -61 + + \begintext + + +MOB Frames + + The MOB frames -- JUNO_MOB_IB and JUNO_MOB_OB -- are the principal + optical bench orientation frames. These frames are not tied to a + particular physical feature but are instead defined by two vectors + that are the sum and the difference of the boresight directions of + the two CHUs mounted on each bench: + + - +Z axis is along the vector that is the sum of the CHU + boresight directions (CHUA + CHUB for OB, CHUD + CHUC for IB) + + - +Y axis is along the vector that is the difference of the + boresight directions (CHUA - CHUB for OB, CHUD - CHUC for IB) + + - +X axis completes the right-handed frame + + - the origin of the frame is between the focal points of the two + CHUs whose boresights define the frame. + + The OB MOB frame is nominally rotated from the s/c frame by 180 + degrees about X, then by 180 degrees about Z. + + The IB MOB nominally rotated from the s/c frame by 180 degrees about + X. + + This diagram illustrates the MOB frames: + + Spacecraft -Z side view: + ------------------------ + + + Magnetometer Boom + + /```---... ___ + | ```---.../ \ +Ymob_ib + | \..^ + | |```---... + | | CHUD CHUB... + +Zsc +Xsc | .---|@. +X .@----.. + x------> | FGM_IB | @ o-----> <-----o @ ||FGM_OB + | | `----@' +X `@|---'' + | | CHUC CHUA'|' + | | ...---''' | + v | /''' V + +Ysc | ...---'''\ / +Ymob_ob + \...---''' --- + + +Zsc is into the page. + + +Zmob_ib, and +Zmob_ob + are out of the page. + + + The MOB frames are defined as CK-based frames because their + orientation is provided in CKs with respect to the J2000 frame. + + \begindata + + FRAME_JUNO_MOB_IB = -61113 + FRAME_-61113_NAME = 'JUNO_MOB_IB' + FRAME_-61113_CLASS = 3 + FRAME_-61113_CLASS_ID = -61113 + FRAME_-61113_CENTER = -61 + CK_-61113_SCLK = -61 + CK_-61113_SPK = -61 + + FRAME_JUNO_MOB_OB = -61123 + FRAME_-61123_NAME = 'JUNO_MOB_OB' + FRAME_-61123_CLASS = 3 + FRAME_-61123_CLASS_ID = -61123 + FRAME_-61123_CENTER = -61 + CK_-61123_SCLK = -61 + CK_-61123_SPK = -61 + + \begintext + + +CHU frames + + The ASC CHU frames -- JUNO_ASC_CHUA, JUNO_ASC_CHUB, JUNO_ASC_CHUC, + and JUNO_ASC_CHUD -- are defined as follows: + + - +Z axis is along the boresight + + - +X axis is along the sensor side roughly aligned with the cable + direction, pointing away from the cable side. + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the CHU's focal point + + The mapping between CHUs and their telemetry designations (0-3) is + as follows: + + CHUA (-61122) -> TLM "0" + CHUB (-61121) -> TLM "1" + CHUC (-61112) -> TLM "2" + CHUD (-61111) -> TLM "3" + + These diagrams illustrate the ASC CHU frames: + + Spacecraft -Z side view: + ------------------------ + + + Magnetometer Boom + /```---... ___ + | ```---.../ \ ^ +YchuD + | \...| + | ^ +YchuC + | CHUD | ```- CHUB + +Zsc +Xsc | .--- o----> <----o----.. + x------> | FGM_IB| @ @|| +X +X ||@ @ ||FGM_OB + | | `--- o----> <----o----'' + | | CHUC ...| CHUA + | | ...- +YchuB V + v | /''' | + +Ysc | ...---'''\ / +YchuA V + \...---''' --- + + +Zsc is into the page. + + +Zchu1, +Zchu2, +Zchu3, and +Zchu4 + are out of the page, inclined at + ~13 degrees. + + This diagram illustrates all magnetometer frames together. + + Spacecraft +X side view: + ------------------------ + + + Outboard Bench Inboard Bench + -------------- ------------- + + +Z +Z +Z + ^ ^ ^ + | | | + | FGM_OB | S/C FGM_IB | + +X +Y | | | +Y +X + x------> o------> o------> <------x <------o + | +X +Y +X +Y +Y +X | + | MOB_OB MOB_IB | + | | + v v + +Z +Z + .> +Y +Y <. + +X .-' `-. +X + +X x x' CHUA `o o +X + / `-. \ / .-' \ + / `> \ CHUD / <' \ + / CHUB +Y \ / +Y CHUC \ + v v v v + +Z +Z +Z +Z + + /<--------|-------->\ /<--------|-------->\ + 13 deg | 13 deg 13 deg | 13 deg + + + + +Xs of s/c, FGM_OB, MOB_IB, CHUC, and CHUD are out of the page. + +Xs of FGM_IB, MOB_OB, CHUA, and CHUB are into the page. + + + The ASC CHU frames are defined as CK-based frames because their + orientation is provided either with respect to the J2000 frame, + based on the CHU's attitude solution, or with respect to the + spacecraft frame, based on the in-flight relative alignment + calibration. + + \begindata + + FRAME_JUNO_ASC_CHUD = -61111 + FRAME_-61111_NAME = 'JUNO_ASC_CHUD' + FRAME_-61111_CLASS = 3 + FRAME_-61111_CLASS_ID = -61111 + FRAME_-61111_CENTER = -61 + CK_-61111_SCLK = -61 + CK_-61111_SPK = -61 + + FRAME_JUNO_ASC_CHUC = -61112 + FRAME_-61112_NAME = 'JUNO_ASC_CHUC' + FRAME_-61112_CLASS = 3 + FRAME_-61112_CLASS_ID = -61112 + FRAME_-61112_CENTER = -61 + CK_-61112_SCLK = -61 + CK_-61112_SPK = -61 + + FRAME_JUNO_ASC_CHUB = -61121 + FRAME_-61121_NAME = 'JUNO_ASC_CHUB' + FRAME_-61121_CLASS = 3 + FRAME_-61121_CLASS_ID = -61121 + FRAME_-61121_CENTER = -61 + CK_-61121_SCLK = -61 + CK_-61121_SPK = -61 + + FRAME_JUNO_ASC_CHUA = -61122 + FRAME_-61122_NAME = 'JUNO_ASC_CHUA' + FRAME_-61122_CLASS = 3 + FRAME_-61122_CLASS_ID = -61122 + FRAME_-61122_CENTER = -61 + CK_-61122_SCLK = -61 + CK_-61122_SPK = -61 + + \begintext + + +Alignment Frames + + In the FK versions 0.5 (November 2011) to 0.8 (up to April 2016) + the JUNO_CHU#_TO_FGM_## frames below incorporated the following CHU# + to FGM_## alignments based on the "Micro Advanced Stellar Compass + JUNO Reference Cube Calibration Test Report" + (JN-DTU-TR-3008_v1_0_ref_cube_calibration_report-2.pdf): + + -------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + -------------------------------------------------------- + FGM_OB -> CHUA 166.98004591 0.83914744 -179.77479685 + FGM_OB -> CHUB -167.65012849 0.22864645 -179.36168926 + FGM_IB -> CHUC -166.89008185 0.16658654 179.10988258 + FGM_IB -> CHUD 166.92526364 0.41005034 178.56549108 + -------------------------------------------------------- + + These alignments were derived by creating the transformation + matrices from the CHU# frames to the FGM frames that have their +X + axes (primary axes) along the vectors that are the negative of the + measured optical cube X side normals given in the CHU# frames and + their +Y axes (plane defining axes) along the vectors that are the + measured optical cube Y side normals given in the CHU# frames. + + These angles were provided in the frame definitions using the + following keywords: + + tkframe_-61131_angles = ( 166.98004591, 0.83914744, -179.77479685 ) + tkframe_-61132_angles = ( -167.65012849, 0.22864645, -179.36168926 ) + tkframe_-61133_angles = ( -166.89008185, 0.16658654, 179.10988258 ) + tkframe_-61134_angles = ( 166.92526364, 0.41005034, 178.56549108 ) + + + Starting with the FK version 0.9 (April 2016) + the JUNO_CHU#_TO_FGM_## frames below incorporate the following CHU# + to FGM_## alignments from [10] table 4: + + -------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + -------------------------------------------------------- + FGM_OB -> CHUA 166.981554 0.867687 -179.789384 + FGM_OB -> CHUB -167.680175 0.231891 -179.384575 + FGM_IB -> CHUC -166.964941 0.211558 179.078816 + FGM_IB -> CHUD 166.887958 0.457271 178.543535 + -------------------------------------------------------- + + \begindata + + FRAME_JUNO_CHUA_TO_FGM_OB = -61131 + FRAME_-61131_NAME = 'JUNO_CHUA_TO_FGM_OB' + FRAME_-61131_CLASS = 4 + FRAME_-61131_CLASS_ID = -61131 + FRAME_-61131_CENTER = -61 + TKFRAME_-61131_SPEC = 'ANGLES' + TKFRAME_-61131_RELATIVE = 'JUNO_ASC_CHUA' + TKFRAME_-61131_ANGLES = ( 166.981554, 0.867687, -179.789384 ) + TKFRAME_-61131_AXES = ( 1, 2, 3 ) + TKFRAME_-61131_UNITS = 'DEGREES' + + FRAME_JUNO_CHUB_TO_FGM_OB = -61132 + FRAME_-61132_NAME = 'JUNO_CHUB_TO_FGM_OB' + FRAME_-61132_CLASS = 4 + FRAME_-61132_CLASS_ID = -61132 + FRAME_-61132_CENTER = -61 + TKFRAME_-61132_SPEC = 'ANGLES' + TKFRAME_-61132_RELATIVE = 'JUNO_ASC_CHUB' + TKFRAME_-61132_ANGLES = ( -167.680175, 0.231891, -179.384575 ) + TKFRAME_-61132_AXES = ( 1, 2, 3 ) + TKFRAME_-61132_UNITS = 'DEGREES' + + FRAME_JUNO_CHUC_TO_FGM_IB = -61133 + FRAME_-61133_NAME = 'JUNO_CHUC_TO_FGM_IB' + FRAME_-61133_CLASS = 4 + FRAME_-61133_CLASS_ID = -61133 + FRAME_-61133_CENTER = -61 + TKFRAME_-61133_SPEC = 'ANGLES' + TKFRAME_-61133_RELATIVE = 'JUNO_ASC_CHUC' + TKFRAME_-61133_ANGLES = ( -166.964941, 0.211558, 179.078816 ) + TKFRAME_-61133_AXES = ( 1, 2, 3 ) + TKFRAME_-61133_UNITS = 'DEGREES' + + FRAME_JUNO_CHUD_TO_FGM_IB = -61134 + FRAME_-61134_NAME = 'JUNO_CHUD_TO_FGM_IB' + FRAME_-61134_CLASS = 4 + FRAME_-61134_CLASS_ID = -61134 + FRAME_-61134_CENTER = -61 + TKFRAME_-61134_SPEC = 'ANGLES' + TKFRAME_-61134_RELATIVE = 'JUNO_ASC_CHUD' + TKFRAME_-61134_ANGLES = ( 166.887958, 0.457271, 178.543535 ) + TKFRAME_-61134_AXES = ( 1, 2, 3 ) + TKFRAME_-61134_UNITS = 'DEGREES' + + \begintext + + In the FK versions 0.5 (November 2011) to 0.8 (up to April 2016) + the JUNO_MOB_##_TO_FGM_## frames below incorporated the following + MOB_## to FGM_## alignments based on the "Micro Advanced Stellar + Compass JUNO Reference Cube Calibration Test Report" + (JN-DTU-TR-3008_v1_0_ref_cube_calibration_report-2.pdf): + + ----------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + ----------------------------------------------------------- + FGM_OB -> MOB_OB 179.65236785 0.57188198 179.06999179 + FGM_IB -> MOB_IB -179.98504194 0.35177733 178.31458807 + ----------------------------------------------------------- + + These angles were provided in the frame definitions using the + following keywords: + + tkframe_-61135_angles = ( 179.65236785, 0.57188198, 179.06999179 ) + tkframe_-61136_angles = ( -179.98504194, 0.35177733, 178.31458807 ) + + + Starting with the FK version 0.9 (April 2016) + the JUNO_CHU#_TO_FGM_## frames below incorporate the following CHU# + to FGM_## alignments based on [10]: + + ----------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + ----------------------------------------------------------- + FGM_OB -> MOB_OB 179.63717677 0.58603721 178.99314287 + FGM_IB -> MOB_IB 179.95841684 0.39617415 178.28125011 + ----------------------------------------------------------- + + These alignments were derived by creating the transformation + matrices from the FGM_## frames to the MOB_## frames that have their + +Z axes (primary axes) along the sums of a particular MOB's CHU# + boresight vectors and their +Y axes (plane defining axes) along the + differences of a particular MOB's CHU# boresight vectors. + + \begindata + + FRAME_JUNO_MOB_OB_TO_FGM_OB = -61135 + FRAME_-61135_NAME = 'JUNO_MOB_OB_TO_FGM_OB' + FRAME_-61135_CLASS = 4 + FRAME_-61135_CLASS_ID = -61135 + FRAME_-61135_CENTER = -61 + TKFRAME_-61135_SPEC = 'ANGLES' + TKFRAME_-61135_RELATIVE = 'JUNO_MOB_OB' + TKFRAME_-61135_ANGLES = ( 179.63717677, 0.58603721, 178.99314287 ) + TKFRAME_-61135_AXES = ( 1, 2, 3 ) + TKFRAME_-61135_UNITS = 'DEGREES' + + FRAME_JUNO_MOB_IB_TO_FGM_IB = -61136 + FRAME_-61136_NAME = 'JUNO_MOB_IB_TO_FGM_IB' + FRAME_-61136_CLASS = 4 + FRAME_-61136_CLASS_ID = -61136 + FRAME_-61136_CENTER = -61 + TKFRAME_-61136_SPEC = 'ANGLES' + TKFRAME_-61136_RELATIVE = 'JUNO_MOB_IB' + TKFRAME_-61136_ANGLES = ( 179.95841684, 0.39617415, 178.28125011 ) + TKFRAME_-61136_AXES = ( 1, 2, 3 ) + TKFRAME_-61136_UNITS = 'DEGREES' + + \begintext + + In the FK versions 0.5 (November 2011) to 0.8 (up to April 2016) + the JUNO_CHU#_TO_SC frames below incorporated the following CHU# to + SC alignments based on a quick comparison of the CHU and s/c + orientations during the ASC turn-on activity on August 25, 2011: + + ------------------------------------------------------- + Rot3 Z Rot2 Y Rot1 X + ------------------------------------------------------- + S/C->CHUA 179.215 0.207 -167.634 + S/C->CHUB 178.862 -0.010 167.032 + S/C->CHUC -0.724 -0.633 -166.482 + S/C->CHUD -0.460 -0.608 167.377 + ------------------------------------------------------- + + These angles were provided in the frame definitions using the + following keywords: + + tkframe_-61141_angles = ( 179.215, 0.207, -167.634 ) + tkframe_-61142_angles = ( 178.862, -0.010, 167.032 ) + tkframe_-61143_angles = ( -0.724, -0.633, -166.482 ) + tkframe_-61144_angles = ( -0.460, -0.608, 167.377 ) + + + Starting with the FK version 0.9, draft 2 (April 2016) + the JUNO_CHU#_TO_SC frames below incorporate the following CHU# to + SC alignments based on a quick comparison of the CHU and s/c + orientations during January-March 2016: + + ------------------------------------------------------- + Rot3 Z Rot2 Y Rot1 X + ------------------------------------------------------- + S/C->CHUA 178.970 1.290 -167.630 + S/C->CHUB 179.100 1.065 167.035 + S/C->CHUC -0.980 0.375 -166.475 + S/C->CHUD -0.240 0.400 167.385 + ------------------------------------------------------- + + These angles were provided in the frame definitions using the + following keywords: + + tkframe_-61141_angles = ( 178.970, 1.290, -167.630 ) + tkframe_-61142_angles = ( 179.100, 1.065, 167.035 ) + tkframe_-61143_angles = ( -0.980, 0.375, -166.475 ) + tkframe_-61144_angles = ( -0.240, 0.400, 167.385 ) + + Starting with the FK version 0.9, draft 5 (August 2016) + the JUNO_CHU#_TO_SC frames below incorporate the following CHU# to + SC alignments based on a quick comparison of the CHU and s/c + orientations for August 6-19, 2016: + + ------------------------------------------------------- + Rot3 Z Rot2 Y Rot1 X + ------------------------------------------------------- + S/C->CHUA 178.950 1.370 -167.635 + S/C->CHUB 179.125 1.150 167.035 + S/C->CHUC -1.000 0.480 -166.480 + S/C->CHUD -0.220 0.510 167.380 + ------------------------------------------------------- + + WARNING: the fixed alignments below are just a snapshot of the actual + alignments at a particular point in time. The actual alignments proved + to be significantly varying due a temperature-dependent solar array + flexing, both during cruise and during orbital operations, with the + Y rotation changing back and forth by as much as 0.08 deg during each + peri-jove pass. Because of this variability the frames below and any + frame chains containing them should NOT be used in science data + analysis. + + \begindata + + FRAME_JUNO_CHUA_TO_SC = -61141 + FRAME_-61141_NAME = 'JUNO_CHUA_TO_SC' + FRAME_-61141_CLASS = 4 + FRAME_-61141_CLASS_ID = -61141 + FRAME_-61141_CENTER = -61 + TKFRAME_-61141_SPEC = 'ANGLES' + TKFRAME_-61141_RELATIVE = 'JUNO_ASC_CHUA' + TKFRAME_-61141_ANGLES = ( 178.950, 1.370, -167.635 ) + TKFRAME_-61141_AXES = ( 3, 2, 1 ) + TKFRAME_-61141_UNITS = 'DEGREES' + + FRAME_JUNO_CHUB_TO_SC = -61142 + FRAME_-61142_NAME = 'JUNO_CHUB_TO_SC' + FRAME_-61142_CLASS = 4 + FRAME_-61142_CLASS_ID = -61142 + FRAME_-61142_CENTER = -61 + TKFRAME_-61142_SPEC = 'ANGLES' + TKFRAME_-61142_RELATIVE = 'JUNO_ASC_CHUB' + TKFRAME_-61142_ANGLES = ( 179.125, 1.150, 167.035 ) + TKFRAME_-61142_AXES = ( 3, 2, 1 ) + TKFRAME_-61142_UNITS = 'DEGREES' + + FRAME_JUNO_CHUC_TO_SC = -61143 + FRAME_-61143_NAME = 'JUNO_CHUC_TO_SC' + FRAME_-61143_CLASS = 4 + FRAME_-61143_CLASS_ID = -61143 + FRAME_-61143_CENTER = -61 + TKFRAME_-61143_SPEC = 'ANGLES' + TKFRAME_-61143_RELATIVE = 'JUNO_ASC_CHUC' + TKFRAME_-61143_ANGLES = ( -1.000, 0.480, -166.480 ) + TKFRAME_-61143_AXES = ( 3, 2, 1 ) + TKFRAME_-61143_UNITS = 'DEGREES' + + FRAME_JUNO_CHUD_TO_SC = -61144 + FRAME_-61144_NAME = 'JUNO_CHUD_TO_SC' + FRAME_-61144_CLASS = 4 + FRAME_-61144_CLASS_ID = -61144 + FRAME_-61144_CENTER = -61 + TKFRAME_-61144_SPEC = 'ANGLES' + TKFRAME_-61144_RELATIVE = 'JUNO_ASC_CHUD' + TKFRAME_-61144_ANGLES = ( -0.220, 0.510, 167.380 ) + TKFRAME_-61144_AXES = ( 3, 2, 1 ) + TKFRAME_-61144_UNITS = 'DEGREES' + + \begintext + + In the FK versions 0.5 (November 2011) to 0.8 (up to April 2016) + the JUNO_MOB_##_TO_SC and JUNO_SC_TO_MOB_## frames below incorporated + the following MOB_## to SC alignments based on a quick comparison of + the CHU and s/c orientations during the ASC turn-on activity on + August 25, 2011: + + ------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + ------------------------------------------------------- + SC -> MOB_OB -179.69984062 0.10355166 179.50575594 + SC -> MOB_IB -179.55188944 0.63655035 0.06025323 + ------------------------------------------------------- + + ------------------------------------------------------- + Rot3 Z Rot2 Y Rot1 X + ------------------------------------------------------- + MOB_OB -> SC -179.50575594 -0.10355166 179.69984062 + MOB_IB -> SC -0.06025323 -0.63655035 179.55188944 + ------------------------------------------------------- + + These angles were provided in the frame definitions using the + following keywords: + + tkframe_-61145_angles = ( -179.69984062, 0.10355166, 179.50575594 ) + tkframe_-61146_angles = ( -179.55188944, 0.63655035, 0.06025323 ) + tkframe_-61155_angles = ( -179.50575594, -0.10355166, 179.69984062 ) + tkframe_-61156_angles = ( -0.06025323, -0.63655035, 179.55188944 ) + + + Starting with the FK version 0.9, draft 2 (April 2016) + the JUNO_MOB_##_TO_SC and JUNO_SC_TO_MOB_## frames below incorporate + the following MOB_## to SC alignments based on a quick comparison of + the CHU and s/c orientations during January-March 2016: + + ------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + ------------------------------------------------------- + SC -> MOB_OB -179.71273540 1.20947262 179.49305746 + SC -> MOB_IB -179.54535339 -0.39823128 0.05211686 + ------------------------------------------------------- + + ------------------------------------------------------- + Rot3 Z Rot2 Y Rot1 X + ------------------------------------------------------- + MOB_OB -> SC -179.49305746 -1.20947262 179.71273540 + MOB_IB -> SC -0.05211686 0.39823128 179.54535339 + ------------------------------------------------------- + + These angles were provided in the frame definitions using the + following keywords: + + tkframe_-61145_angles = ( -179.71273540, 1.20947262, 179.49305746 ) + tkframe_-61146_angles = ( -179.54535339, -0.39823128, 0.05211686 ) + tkframe_-61155_angles = ( -179.49305746, -1.20947262, 179.71273540 ) + tkframe_-61156_angles = ( -0.05211686, 0.39823128, 179.54535339 ) + + + Starting with the FK version 0.9, draft 5 (August 2016) + the JUNO_MOB_##_TO_SC and JUNO_SC_TO_MOB_## frames below incorporate + the following MOB_## to SC alignments based on a quick comparison of + the CHU and s/c orientations for August 6-19, 2016: + + ------------------------------------------------------- + Rot3 X Rot2 Y Rot1 Z + ------------------------------------------------------- + SC -> MOB_OB -179.71070379 1.29397715 179.50482902 + SC -> MOB_IB -179.55054081 -0.50866857 0.06234192 + ------------------------------------------------------- + + ------------------------------------------------------- + Rot3 Z Rot2 Y Rot1 X + ------------------------------------------------------- + MOB_OB -> SC -179.50482902 -1.29397715 179.71070379 + MOB_IB -> SC -0.06234192 0.50866857 179.55054081 + ------------------------------------------------------- + + These alignments were derived by creating the transformation + matrices from the SC frame to the MOB_## frames that have their +Z + axes (primary axes) along the sums of a particular MOB's CHU# + boresight vectors and their +Y axes (plane defining axes) along the + differences of a particular MOB's CHU# boresight vectors. + + WARNING: the fixed alignments below are just a snapshot of the actual + alignments at a particular point in time. The actual alignments proved + to be significantly varying due a temperature-dependent solar array + flexing, both during cruise and during orbital operations, with the + Y rotation changing back and forth by as much as 0.08 deg during each + peri-jove pass. Because of this variability the frames below and any + frame chains containing them should NOT be used in science data + analysis. + + \begindata + + FRAME_JUNO_MOB_OB_TO_SC = -61145 + FRAME_-61145_NAME = 'JUNO_MOB_OB_TO_SC' + FRAME_-61145_CLASS = 4 + FRAME_-61145_CLASS_ID = -61145 + FRAME_-61145_CENTER = -61 + TKFRAME_-61145_SPEC = 'ANGLES' + TKFRAME_-61145_RELATIVE = 'JUNO_MOB_OB' + TKFRAME_-61145_ANGLES = ( -179.71070379, 1.29397715, 179.50482902 ) + TKFRAME_-61145_AXES = ( 1, 2, 3 ) + TKFRAME_-61145_UNITS = 'DEGREES' + + FRAME_JUNO_MOB_IB_TO_SC = -61146 + FRAME_-61146_NAME = 'JUNO_MOB_IB_TO_SC' + FRAME_-61146_CLASS = 4 + FRAME_-61146_CLASS_ID = -61146 + FRAME_-61146_CENTER = -61 + TKFRAME_-61146_SPEC = 'ANGLES' + TKFRAME_-61146_RELATIVE = 'JUNO_MOB_IB' + TKFRAME_-61146_ANGLES = ( -179.55054081, -0.50866857, 0.06234192 ) + TKFRAME_-61146_AXES = ( 1, 2, 3 ) + TKFRAME_-61146_UNITS = 'DEGREES' + + FRAME_JUNO_SC_TO_MOB_OB = -61155 + FRAME_-61155_NAME = 'JUNO_SC_TO_MOB_OB' + FRAME_-61155_CLASS = 4 + FRAME_-61155_CLASS_ID = -61155 + FRAME_-61155_CENTER = -61 + TKFRAME_-61155_SPEC = 'ANGLES' + TKFRAME_-61155_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61155_ANGLES = ( -179.50482902, -1.29397715, 179.71070379 ) + TKFRAME_-61155_AXES = ( 3, 2, 1 ) + TKFRAME_-61155_UNITS = 'DEGREES' + + FRAME_JUNO_SC_TO_MOB_IB = -61156 + FRAME_-61156_NAME = 'JUNO_SC_TO_MOB_IB' + FRAME_-61156_CLASS = 4 + FRAME_-61156_CLASS_ID = -61156 + FRAME_-61156_CENTER = -61 + TKFRAME_-61156_SPEC = 'ANGLES' + TKFRAME_-61156_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61156_ANGLES = ( -0.06234192, 0.50866857, 179.55054081 ) + TKFRAME_-61156_AXES = ( 3, 2, 1 ) + TKFRAME_-61156_UNITS = 'DEGREES' + + \begintext + + +JADE Frames +------------------------------------------------------------------------------- + + The set of frames for the JADE experiment includes three Electron + Sensor frames -- JUNO_JADE_E060, JUNO_JADE_E180, and JUNO_JADE_E300 + -- and one Ion Sensor frame -- JUNO_JADE_I. + + The JADE Elector Sensor frames -- JUNO_JADE_E060, JUNO_JADE_E180, and + JUNO_JADE_E300 -- are fixed w.r.t. to the spacecraft and defined as + follows: + + - +Z axis is normal to the plane between upper and lower + entrance deflectors ("principal" plane) and points away from + the sensor base + + - +X axis is in the "principal" plane nominally points towards the + center of the sensor FOV + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the intersection of the "principal" + plane and the sensor symmetry axis. + + This diagram illustrates the JADE Electron sensor frames: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 + ~ ~ ~ ~ ~ ~ ~ ~ + \ .-' \ +Xe060 + \-' .-'\ ^ <-. Spin Direction + \ .-' / `. + \ .-' <. / + \-' +Ye060 `-. / + \ .-' `o.+Ze060 + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | \ | | | |``--.. + +Xe180 +Ze180 | +Xsc | | | | `--.. + <------o o------> | | | | | | + | . +Zsc , | | | | ..--'' + | \ / | | | |..--' + | \ HGA / | | | Magnetometer + V . `. .' .> -------------------' Boom + +Ye180 `-. ` ----- ' .-' +Ye300 + / `- +Ze300 o' + / `-. .-' \ + /`-. /' \ + / `-. / \ + / `-. / v + /`-. `-/ +Xe300 + /~ ~ ~ ~ ~ ~ ~ ~ +Zsc, +Zje060, +Zje180, + Solar Array 2 +Zje300 are out of + the page. + + As seen on the diagram the JUNO_JADE_E060, JUNO_JADE_E180, and + JUNO_JADE_E300 frames are nominally rotated from the spacecraft + frame by +60, 180 and -60 degrees about +Z axis correspondingly. + These nominal rotations were provided in the FK versions 0.0-1.0 + as + + tkframe_-61201_angles = ( -60.0, 0.0, 0.0 ) + tkframe_-61201_axes = ( 3, 2, 1 ) + + tkframe_-61202_angles = ( 180.0, 0.0, 0.0 ) + tkframe_-61202_axes = ( 3, 2, 1 ) + + tkframe_-61203_angles = ( 60.0, 0.0, 0.0 ) + tkframe_-61203_axes = ( 3, 2, 1 ) + + Based on the JADE_E* anode look directions from [13], the + JUNO_JADE_E060 frame is rotated from the spacecraft frame first by + +60 deg about Z then by +0.35 deg about Y, JUNO_JADE_E180 -- first + by 180 deg about Z then by +0.48 deg about Y, and JUNO_JADE_E300 -- + first by -60 degrees about Z then by +0.34 deg about Y. + + Since the frame definitions below contains the reverse + transformations -- from the JADE Electron Sensor frames to the + spacecraft frame -- the order of rotations is reversed and the signs + of rotation angles are changed to the opposite ones compared to the + description above. + + \begindata + + FRAME_JUNO_JADE_E060 = -61201 + FRAME_-61201_NAME = 'JUNO_JADE_E060' + FRAME_-61201_CLASS = 4 + FRAME_-61201_CLASS_ID = -61201 + FRAME_-61201_CENTER = -61 + TKFRAME_-61201_SPEC = 'ANGLES' + TKFRAME_-61201_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61201_ANGLES = ( -60.0, -0.35, 0.0 ) + TKFRAME_-61201_AXES = ( 3, 2, 1 ) + TKFRAME_-61201_UNITS = 'DEGREES' + + FRAME_JUNO_JADE_E180 = -61202 + FRAME_-61202_NAME = 'JUNO_JADE_E180' + FRAME_-61202_CLASS = 4 + FRAME_-61202_CLASS_ID = -61202 + FRAME_-61202_CENTER = -61 + TKFRAME_-61202_SPEC = 'ANGLES' + TKFRAME_-61202_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61202_ANGLES = ( 180.0, -0.48, 0.0 ) + TKFRAME_-61202_AXES = ( 3, 2, 1 ) + TKFRAME_-61202_UNITS = 'DEGREES' + + FRAME_JUNO_JADE_E300 = -61203 + FRAME_-61203_NAME = 'JUNO_JADE_E300' + FRAME_-61203_CLASS = 4 + FRAME_-61203_CLASS_ID = -61203 + FRAME_-61203_CENTER = -61 + TKFRAME_-61203_SPEC = 'ANGLES' + TKFRAME_-61203_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61203_ANGLES = ( 60.0, -0.34, 0.0 ) + TKFRAME_-61203_AXES = ( 3, 2, 1 ) + TKFRAME_-61203_UNITS = 'DEGREES' + + \begintext + + The JADE Ion Sensor frame -- JUNO_JADE_I -- is fixed w.r.t. to the + spacecraft and defined as follows: + + - +Z axis is normal to the plane between upper and lower + entrance deflectors ("principal" plane) and points away from + the anode + + - +X axis is in the "principal" plane nominally points towards the + center of the sensor FOV + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the intersection of the "principal" + plane and the sensor symmetry axis. + + This diagram illustrates the JADE Ion sensor frame: + + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ ~ `. + \ .-' \. + \-' .-' `-. + \ .-' `-. + (45 deg above \ .-' ----- . `-. Solar Array 1 + the page) .-' +Ysc ^ `. `-.--------------------. + +Xi ..@ / | \ | | | | + <-'' |\ | \ | | | |``--.. + +Yi | \ | +Xsc | | | | `--.. + (45 deg below |15\ o------> | | | | | | + the page) | v +Zsc , | | | | ..--'' + | +Zi / | | | |..--' + | HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / `-. .-' + / `-. .-' + /`-. /' + ~ ~ ~ ~ ~ ~ ~ ~ +Zsc is out of + Solar Array 2 the page. + + + As seen on the diagram the JUNO_JADE_I frame is nominally rotated + from the spacecraft first by -75 degrees about +Z, then by +90 + degrees about +Y, then by -135 degrees about +Z. + + Based on the JADE_I* anode look directions from [13], the nominal + orientation described above has been used for JADE_I observation + geometry computations. + + Since the frame definitions below contains the reverse + transformation -- from the JADE Ion Sensor frame to the spacecraft + frame -- the order of rotations is reversed and the signs of + rotation angles are changed to the opposite ones compared to the + description above. + + \begindata + + FRAME_JUNO_JADE_I = -61204 + FRAME_-61204_NAME = 'JUNO_JADE_I' + FRAME_-61204_CLASS = 4 + FRAME_-61204_CLASS_ID = -61204 + FRAME_-61204_CENTER = -61 + TKFRAME_-61204_SPEC = 'ANGLES' + TKFRAME_-61204_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61204_ANGLES = ( 75.0, -90.0, 135.0 ) + TKFRAME_-61204_AXES = ( 3, 2, 3 ) + TKFRAME_-61204_UNITS = 'DEGREES' + + \begintext + + +JEDI Frames +------------------------------------------------------------------------------- + + The set of frames for the JEDI experiment includes three JEDI Sensor + frames -- JUNO_JEDI_090, JUNO_JEDI_A180, and JUNO_JEDI_270, -- fixed + w.r.t. to the spacecraft and defined as follows: + + - +Z axis is along the sensor head symmetry axis, pointing away + from the sensor electronics box + + - +X axis is in the FOV center plane, nominally pointing towards + the center of the full (160 x 12) sensor FOV + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the intersection of the FOV + center plane and the sensor head symmetry axis. + + Note that for the JEDI/090 and JEDI/270 sensors the frame is as + defined in the JEDI MICD. For the JEDI/A180 sensor the frame is not + as defined in the JEDI MICD: it is rotated by -90 degrees about +X + to align the +Z axis with the sensor's symmetry axis. + + This diagram illustrates the JEDI sensor frames: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 + ~ ~ ~ ~ ~ ~ ~ ~ + \ .-' \ +X090 + \ .-' \ ^ + \-' .-'\ | <-. Spin Direction + \ \ | `. + \ . +Y090 \ | + \-' <------o +Z090 + \ .- `-. + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | / | \ | | | |``--.. + | ' | +Xsc | | | | `--.. + o------> | | | | | | + +Xa180 +Ya180 +Zsc , | | | | ..--'' + <------x / | | | |..--' + | \ HGA / | | | | Magnetometer + | . `. .' .-'--------------------' Boom + | `-. ` ----- ' .-' + V +Z270 .-' + +Za180 -. o------> +X090 and +X270 are out + / | +Y270 of the page, ~10 degrees + / `-. / | above the s/c XY plane. + / `-. / | + /`-. `-/ V +Z090 and +Z270 are out + / `-. / +X270 of the page, tilted by ~13 + ~ ~ ~ ~ ~ ~ ~ ~ degrees towards the s/c +Z axis. + Solar Array 2 + +Y090 is out of the page, + ~8 deg above the s/c XY plane. + + +Y270 is into the page, + ~8 deg below the s/c XY plane. + + +Yja180 is into the page. + + +Zsc is out of the page. + + The JUNO_JEDI_090 frame is nominally rotated from the spacecraft + frame first by +90 degrees about +Z, then by +8 degrees about +X, + then by -10 degrees about +Y. + + The JUNO_JEDI_A180 frame is nominally rotated from the spacecraft + frame first by 180 degrees about +Z, then by -90 degrees about +X. + + The JUNO_JEDI_270 frame is nominally rotated from the spacecraft + frame first by -90 degrees about +Z, then by -8 degrees about +X, + then by -10 degrees about +Y. + + Since the frame definitions below contains the reverse + transformations -- from the JEDI Sensor frames to the spacecraft + frame -- the order of rotations is reversed and the signs of + rotation angles are changed to the opposite ones compared to the + description above. + + \begindata + + FRAME_JUNO_JEDI_090 = -61301 + FRAME_-61301_NAME = 'JUNO_JEDI_090' + FRAME_-61301_CLASS = 4 + FRAME_-61301_CLASS_ID = -61301 + FRAME_-61301_CENTER = -61 + TKFRAME_-61301_SPEC = 'ANGLES' + TKFRAME_-61301_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61301_ANGLES = ( -90.0, -8.0, 10.0 ) + TKFRAME_-61301_AXES = ( 3, 1, 2 ) + TKFRAME_-61301_UNITS = 'DEGREES' + + FRAME_JUNO_JEDI_A180 = -61302 + FRAME_-61302_NAME = 'JUNO_JEDI_A180' + FRAME_-61302_CLASS = 4 + FRAME_-61302_CLASS_ID = -61302 + FRAME_-61302_CENTER = -61 + TKFRAME_-61302_SPEC = 'ANGLES' + TKFRAME_-61302_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61302_ANGLES = ( 180.0, 0.0, 90.0 ) + TKFRAME_-61302_AXES = ( 3, 2, 1 ) + TKFRAME_-61302_UNITS = 'DEGREES' + + FRAME_JUNO_JEDI_270 = -61303 + FRAME_-61303_NAME = 'JUNO_JEDI_270' + FRAME_-61303_CLASS = 4 + FRAME_-61303_CLASS_ID = -61303 + FRAME_-61303_CENTER = -61 + TKFRAME_-61303_SPEC = 'ANGLES' + TKFRAME_-61303_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61303_ANGLES = ( 90.0, 8.0, 10.0 ) + TKFRAME_-61303_AXES = ( 3, 1, 2 ) + TKFRAME_-61303_UNITS = 'DEGREES' + + \begintext + + +JIRAM Frames: +------------------------------------------------------------------------------- + + The set of frames for the JIRAM experiment includes the unit + reference frame (URF) -- JUNO_JIRAM_URF, -- the imager and + spectrometer frames -- JUNO_JIRAM_I and JUNO_JIRAM_S, -- and the + imager L-band and M-band channel frames -- JUNO_JIRAM_I_LBAND and + JUNO_JIRAM_I_MBAND. This set of frames does not attempt to account + for the de-spinning mirror motion and assumes that the de-spinning + compensation results in effectively inertially fixed instrument + pointing for a given observation. + + The JIRAM unit reference frame -- JUNO_JIRAM_URF -- is the JIRAM + "hardware" frame. It is fixed w.r.t. to the spacecraft and is + defined as follows: + + - +Z axis is normal to the JIRAM optical head base, points from + the base towards the spacecraft, and is nominally co-aligned + with the spacecraft +Z axis; + + - +X axis is along the nominal FOV center axis + + - +Y axis completes the right-handed frame + + - the origin of the frame is at center of the JIRAM optical + head reference mounting hole. + + This diagram illustrates the JIRAM unit reference frame: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ ~ `. + \ .-' \. + -. \-' .-' `-. + ` +Xurf \ .-' `-. + 22 <-. \ .-' ----- . `-. Solar Array 1 + deg `-. .-' +Ysc ^ `. `-.--------------------. + --- `o / | \ | | | | + /|+Zurf | \ | | | |``--.. + / | ' | +Xsc | | | | `--.. + / | | o------> | | | | | | + V | . +Zsc , | | | | ..--'' + +Yurf | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / `-. .-' + / `-. .-' + /`-. /' + ~ ~ ~ ~ ~ ~ ~ ~ + Solar Array 2 +Zurf and +Zsc are out of + the page. + + As seen on the diagram the JUNO_JIRAM_URF frame is nominally rotated + from the spacecraft frame by +158 degrees about +Z. + + Since the frame definition below contain the reverse transformation + -- from the JIRAM unit reference frame to the spacecraft frame -- + the order of rotations is reversed and the signs of rotation angles + are changed to the opposite ones compared to the description above. + + \begindata + + FRAME_JUNO_JIRAM_URF = -61401 + FRAME_-61401_NAME = 'JUNO_JIRAM_URF' + FRAME_-61401_CLASS = 4 + FRAME_-61401_CLASS_ID = -61401 + FRAME_-61401_CENTER = -61 + TKFRAME_-61401_SPEC = 'ANGLES' + TKFRAME_-61401_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61401_ANGLES = ( -158.0, 0.0, 0.0 ) + TKFRAME_-61401_AXES = ( 3, 2, 1 ) + TKFRAME_-61401_UNITS = 'DEGREES' + + \begintext + + The JIRAM imager and spectrometer frames -- JUNO_JIRAM_I and + JUNO_JIRAM_S, -- and the imager L-band and M-band channel frames -- + JUNO_JIRAM_I_LBAND and JUNO_JIRAM_I_MBAND -- are the "image" frames + defined as follows: + + - +Z axis is along the boresight (view direction of the center + pixel of the spectrometer line, combined imager CCD or individual + L-band and M-band CCDs); + + - +X axis is along the CCD columns (spectral direction of the + spectrometer), pointing in the "along-track" direction resulting + from the spacecraft rotation + + - +Y axis completes the right-handed frame, pointing along the + spatial spectrometer direction. + + - the origin of the frame is the instrument's focal point. + + This diagram illustrates the spectrometer and imager frames: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ ~ `. + \ .-' \. + ' .-' `-. + +Zs/i/m/l .-' `-. + <-. .-' ----- . `-. Solar Array 1 + `-. .-' +Ysc ^ `. `-.--------------------. + `o / | \ | | | | + /|+Ys/i/m/l | \ | | | |``--.. + / | ' | +Xsc | | | | `--.. + / | | o------> | | | | | | + V | . +Zsc , | | | | ..--'' + +Xs/i/m/l | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / `-. .-' + / `-. .-' + /`-. /' + ~ ~ ~ ~ ~ ~ ~ ~ + Solar Array 2 +Ys/i/m/l and +Zsc are out of + the page. + + The spectrometer frame is defined w.r.t. to the unit reference + frame; the imager frame is defined w.r.t. to the spectrometer frame; + the imager L-band and M-band channel frames are defined w.r.t. to + the imager frame. + + Based on [7] the JIRAM spectrometer frame is rotated from the unit + reference frame first by +90 degrees about +Y, then by +90 degrees + about +Z, then by +6.125 degrees about +Y. + + The JIRAM imager frame is rotated from the spectrometer frame by + +0.22689 degrees about +Y. + + The JIRAM imager L-band frame is rotated from the imager frame by + +0.96257 degrees (1/2 of L-band CCD) about +Y. + + The JIRAM imager M-band frame is rotated from the imager frame by + -0.93507 degrees (1/2 of M-band CCD) about +Y. + + The rotation angles above were used in the FK version 0.6 and were + incorporated into the frame definitions using the following + keywords: + + TKFRAME_-61420_ANGLES = ( -90.0, -90.0, -6.125 ) + TKFRAME_-61410_ANGLES = ( 0.0, -0.22689, 0.0 ) + TKFRAME_-61411_ANGLES = ( 0.0, -0.96257, 0.0 ) + TKFRAME_-61412_ANGLES = ( 0.0, +0.93507, 0.0 ) + + + Based on [8], which provided a summary of alignment changes that + resulted from star and Moon calibrations and from correcting pixel + offsets between detector and band centers, the JIRAM spectrometer + frame is rotated from the unit reference frame first by +90.063 + degrees about +Y, then by +90 degrees about +Z, then by +6.2765 + degrees about +Y. + + The JIRAM imager frame is rotated from the spectrometer frame by + +0.23844 degrees about +Y due to 17.5 pixel offset between the + center of spectrometer and imager. + + The JIRAM imager L-band frame is rotated from the imager frame by + +0.94012 degrees (1/2 of L-band CCD) about +Y due to 69 pixel offset + between L center and I center. + + The JIRAM imager M-band frame is rotated from the imager frame by + -0.94012 degrees (1/2 of M-band CCD) about +Y due to 69 pixel offset + between M center and I center. + + Since the frame definitions below contain the reverse + transformations, the order of rotations is reversed and the signs of + rotation angles are changed to the opposite ones compared to the + description above. + + \begindata + + FRAME_JUNO_JIRAM_S = -61420 + FRAME_-61420_NAME = 'JUNO_JIRAM_S' + FRAME_-61420_CLASS = 4 + FRAME_-61420_CLASS_ID = -61420 + FRAME_-61420_CENTER = -61 + TKFRAME_-61420_SPEC = 'ANGLES' + TKFRAME_-61420_RELATIVE = 'JUNO_JIRAM_URF' + TKFRAME_-61420_ANGLES = ( -90.063, -90.0, -6.2765 ) + TKFRAME_-61420_AXES = ( 2, 3, 2 ) + TKFRAME_-61420_UNITS = 'DEGREES' + + FRAME_JUNO_JIRAM_I = -61410 + FRAME_-61410_NAME = 'JUNO_JIRAM_I' + FRAME_-61410_CLASS = 4 + FRAME_-61410_CLASS_ID = -61410 + FRAME_-61410_CENTER = -61 + TKFRAME_-61410_SPEC = 'ANGLES' + TKFRAME_-61410_RELATIVE = 'JUNO_JIRAM_S' + TKFRAME_-61410_ANGLES = ( 0.0, -0.23844, 0.0 ) + TKFRAME_-61410_AXES = ( 3, 2, 1 ) + TKFRAME_-61410_UNITS = 'DEGREES' + + FRAME_JUNO_JIRAM_I_LBAND = -61411 + FRAME_-61411_NAME = 'JUNO_JIRAM_I_LBAND' + FRAME_-61411_CLASS = 4 + FRAME_-61411_CLASS_ID = -61411 + FRAME_-61411_CENTER = -61 + TKFRAME_-61411_SPEC = 'ANGLES' + TKFRAME_-61411_RELATIVE = 'JUNO_JIRAM_I' + TKFRAME_-61411_ANGLES = ( 0.0, -0.94012, 0.0 ) + TKFRAME_-61411_AXES = ( 3, 2, 1 ) + TKFRAME_-61411_UNITS = 'DEGREES' + + FRAME_JUNO_JIRAM_I_MBAND = -61412 + FRAME_-61412_NAME = 'JUNO_JIRAM_I_MBAND' + FRAME_-61412_CLASS = 4 + FRAME_-61412_CLASS_ID = -61412 + FRAME_-61412_CENTER = -61 + TKFRAME_-61412_SPEC = 'ANGLES' + TKFRAME_-61412_RELATIVE = 'JUNO_JIRAM_I' + TKFRAME_-61412_ANGLES = ( 0.0, +0.94012, 0.0 ) + TKFRAME_-61412_AXES = ( 3, 2, 1 ) + TKFRAME_-61412_UNITS = 'DEGREES' + + \begintext + + +JUNOCAM Frames +------------------------------------------------------------------------------- + + The JUNOCAM frame -- JUNO_JUNOCAM -- is fixed w.r.t. to the + spacecraft and defined as follows: + + - +Z axis is along the camera boresight; + + - +X axis is along the CCD lines, pointing in the increasing + pixel direction + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the camera focal point. + + This diagram illustrates the JUNOCAM frame: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ ~ `. + \ .-' \. + \-' .-' `-. + \ .-' `-. + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | / | \ | | | |``--.. + ' | +Xsc | | | | `--.. + +Xjc | o------> | | | | | | + <------x . +Zsc , | | | | ..--'' + +Zjc | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + | . `. .' .-'--------------------' Boom + V `-. ` ----- ' .-' + / +Yjc `-. .-' + / `-. .-' +Xjc is into + /`-. /' the page. + ~ ~ ~ ~ ~ ~ ~ ~ + Solar Array 2 +Zsc is out of + the page. + + As seen on the diagram the JUNO_JUNOCAM frame is nominally rotated + from the spacecraft frame first by 180 degrees about +Z, then by +90 + degrees about +Y. + + In order to incorporate the pre-launch calibrated misalignment + between the spacecraft frame and JUNOCAM optical cube, specified in + [6] as + + DCM - SMRF to JUNOCam (*) + + -0.0059163 -0.0142817 -0.9998805 + 0.0023828 -0.9998954 0.0142678 + -0.9999797 -0.0022981 0.0059497 + + (*) Measured from the instrument alignment cube. + No correction from cube axes to instrument axes + + and the pre-launch calibrated misalignment between optical cube and + the CCD specified in [6] as CW rotation by 0.69 degrees about +Z + axis of the camera frame as two separate rotations, an additional + frame -- JUNO_JUNOCAM_CUBE -- was added between the JUNO_SPACECRAFT + frame and the JUNO_JUNOCAM frame in the FK ver. 0.6. The rotation + between these two frames was implemented in FKs up to ver. 1.1 using + these keywords: + + tkframe_-61500_axes = ( 3, 2, 1 ) + tkframe_-61500_angles = ( 0.69, 0.0, 0.0 ) + + Based on the initial reanalysis of Junocam cruise star imaging (per + [14]) the angles aligning the JUNO_JUNOCAM_CUBE frame with the + JUNO_JUNOCAM frame were changed to: the first rotation by -0.69 + degrees about Z, the second rotation by +0.469 degrees about Y, and + the third rotation by -0.583 degrees about X. + + The JUNO_JUNOCAM_CUBE misalignment from [6] and the JUNO_JUNOCAM + from [14] are incorporated in the two frame definitions below. + + \begindata + + FRAME_JUNO_JUNOCAM_CUBE = -61505 + FRAME_-61505_NAME = 'JUNO_JUNOCAM_CUBE' + FRAME_-61505_CLASS = 4 + FRAME_-61505_CLASS_ID = -61505 + FRAME_-61505_CENTER = -61 + TKFRAME_-61505_SPEC = 'MATRIX' + TKFRAME_-61505_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61505_MATRIX = ( + -0.0059163 -0.0142817 -0.9998805 + 0.0023828 -0.9998954 0.0142678 + -0.9999797 -0.0022981 0.0059497 + ) + + FRAME_JUNO_JUNOCAM = -61500 + FRAME_-61500_NAME = 'JUNO_JUNOCAM' + FRAME_-61500_CLASS = 4 + FRAME_-61500_CLASS_ID = -61500 + FRAME_-61500_CENTER = -61 + TKFRAME_-61500_SPEC = 'ANGLES' + TKFRAME_-61500_RELATIVE = 'JUNO_JUNOCAM_CUBE' + TKFRAME_-61500_ANGLES = ( 0.69, -0.469, 0.583 ) + TKFRAME_-61500_AXES = ( 3, 2, 1 ) + TKFRAME_-61500_UNITS = 'DEGREES' + + \begintext + + +MWR Frames: +------------------------------------------------------------------------------- + + The set of frames for the MWR experiment includes six MWR antenna + frames -- JUNO_MWR_A1, JUNO_MWR_A2, JUNO_MWR_A3, JUNO_MWR_A4, + JUNO_MWR_A5, and JUNO_MWR_A6, -- fixed w.r.t. to the spacecraft and + defined as follows: + + - +Z axis is along the antenna boresight + + - +Y axis is nominally along the spacecraft +Z axis + + - +X axis completes the right-handed frame + + - the origin of the frame is at the geometric center of the + antenna patch or outer rim. + + This diagram illustrates the MWR antenna frames: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 ^ <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ +Xa1 / +Za1 `. + \ .-' <. / + \-' . `-. / + \ .-' `-o +Ya1 + \ .-' ----- . -. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | / | \ | | | |``--.. + | ' | +Xsc | | | | `--.. + | | o------> | | | | | | + | . +Zsc , | | | | ..--'' + | \ / | |..--' + | \ HGA / +Xa2/3/4/5/6 | | Magnetometer + `-. `. .' .-> -----------------' Boom + / `-. ` ----- ' .-' + / `-. o +Ya2/3/4/5/6 + / `-. .-' \ + /`-. /' \ + ~ ~ ~ ~ ~ ~ ~ ~ \ +Za2/3/4/5/6 + Solar Array 2 V + +Ya* and +Zsc are + out of the page. + + + The JUNO_MWR_A1 frame is nominally rotated from the spacecraft frame + first by +150 degrees about +Z, then by +90 degrees about +X. + + The JUNO_MWR_A2..A6 frames are nominally rotated from the spacecraft + frame first by +30 degrees about +Z, then by +90 degrees about +X. + + Since the frame definitions below contain the reverse + transformations, the order of rotations is reversed and the signs of + rotation angles are changed to the opposite ones compared to the + description above. + + \begindata + + FRAME_JUNO_MWR_A1 = -61601 + FRAME_-61601_NAME = 'JUNO_MWR_A1' + FRAME_-61601_CLASS = 4 + FRAME_-61601_CLASS_ID = -61601 + FRAME_-61601_CENTER = -61 + TKFRAME_-61601_SPEC = 'ANGLES' + TKFRAME_-61601_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61601_ANGLES = ( -150.0, 0.0, -90.0 ) + TKFRAME_-61601_AXES = ( 3, 2, 1 ) + TKFRAME_-61601_UNITS = 'DEGREES' + + FRAME_JUNO_MWR_A2 = -61602 + FRAME_-61602_NAME = 'JUNO_MWR_A2' + FRAME_-61602_CLASS = 4 + FRAME_-61602_CLASS_ID = -61602 + FRAME_-61602_CENTER = -61 + TKFRAME_-61602_SPEC = 'ANGLES' + TKFRAME_-61602_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61602_ANGLES = ( -30.0, 0.0, -90.0 ) + TKFRAME_-61602_AXES = ( 3, 2, 1 ) + TKFRAME_-61602_UNITS = 'DEGREES' + + FRAME_JUNO_MWR_A3 = -61603 + FRAME_-61603_NAME = 'JUNO_MWR_A3' + FRAME_-61603_CLASS = 4 + FRAME_-61603_CLASS_ID = -61603 + FRAME_-61603_CENTER = -61 + TKFRAME_-61603_SPEC = 'ANGLES' + TKFRAME_-61603_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61603_ANGLES = ( -30.0, 0.0, -90.0 ) + TKFRAME_-61603_AXES = ( 3, 2, 1 ) + TKFRAME_-61603_UNITS = 'DEGREES' + + FRAME_JUNO_MWR_A4 = -61604 + FRAME_-61604_NAME = 'JUNO_MWR_A4' + FRAME_-61604_CLASS = 4 + FRAME_-61604_CLASS_ID = -61604 + FRAME_-61604_CENTER = -61 + TKFRAME_-61604_SPEC = 'ANGLES' + TKFRAME_-61604_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61604_ANGLES = ( -30.0, 0.0, -90.0 ) + TKFRAME_-61604_AXES = ( 3, 2, 1 ) + TKFRAME_-61604_UNITS = 'DEGREES' + + FRAME_JUNO_MWR_A5 = -61605 + FRAME_-61605_NAME = 'JUNO_MWR_A5' + FRAME_-61605_CLASS = 4 + FRAME_-61605_CLASS_ID = -61605 + FRAME_-61605_CENTER = -61 + TKFRAME_-61605_SPEC = 'ANGLES' + TKFRAME_-61605_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61605_ANGLES = ( -30.0, 0.0, -90.0 ) + TKFRAME_-61605_AXES = ( 3, 2, 1 ) + TKFRAME_-61605_UNITS = 'DEGREES' + + FRAME_JUNO_MWR_A6 = -61606 + FRAME_-61606_NAME = 'JUNO_MWR_A6' + FRAME_-61606_CLASS = 4 + FRAME_-61606_CLASS_ID = -61606 + FRAME_-61606_CENTER = -61 + TKFRAME_-61606_SPEC = 'ANGLES' + TKFRAME_-61606_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61606_ANGLES = ( -30.0, 0.0, -90.0 ) + TKFRAME_-61606_AXES = ( 3, 2, 1 ) + TKFRAME_-61606_UNITS = 'DEGREES' + + \begintext + + + +UVS Frames +------------------------------------------------------------------------------- + + The set of frames for the UVS experiment includes two frames + -- JUNO_UVS_BASE and JUNO_UVS. + + The UVS "hardware" frame, JUNO_UVS_BASE, is fixed w.r.t. to the + spacecraft and defined as follows: + + - +Z axis is normal to the sensor mounting plane and points + into the sensor; it is nominally along the slit + + - +X axis is parallel to the scan mirror rotation axis and points + from the sensor electronics towards the entrance baffle + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the center of the reference + mounting hole. + + The UVS "observation" frame, JUNO_UVS, is a CK-based frame defined + as follows: + + - +X axis is the instrument boresight + + - +Z axis is along the slit and for the "zero" scan mirror position + points in the same direction as the +Z axis of the JUNO_UVS_BASE + frame + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the intersection of the + reflected boresight and the scan mirror axis. + + This diagram illustrates the UVS frames (the JUNO_UVS frame is shown + in the "zero" scan mirror position): + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ ~ `. + \ .-' \. + \-' .-' `-. + \ .-' `-. + .-' ----- . `-. Solar Array 1 + +Yu ' +Ysc ^ `. `-.--------------------. + ^ / | \ | | | | + | +Xub | \ | | | |``--.. + |^ | +Xsc | | | | `--.. + +Xu || | o------> | | | | | | + <------x| . +Zsc , | | | | ..--'' + +Zu | \ / | | | |..--' + x------> / | | | | Magnetometer + +Zub +Yub HGA .' .-'--------------------' Boom + / `-. ----- ' .-' + / `-. .-' + / `-. .-' +Zub and +Zu are + /`-. /' into the page. + ~ ~ ~ ~ ~ ~ ~ ~ + Solar Array 2 +Zsc is out of + the page. + + + Scan Mirror Plane and Axis (Spacecraft +Z side view:): + ------------------------------------------------------ + + | + | Scan Mirror Axis + | + + ^ +Yu + . | + `. | + +Xu `.| + <------x. + Reflected +Zu `. Scan Mirror plane + boresight ` in "zero" position + + ^ +Xub ^ +Ysc + | | + | | + | | + x------> Yub o------> + +Zub +Zsc +Xsc + + + As seen on the diagram the JUNO_UVS_BASE frame is nominally rotated + from the spacecraft frame first by +90 degrees about +Z, then by 180 + degrees about +X. This nominal alignment was provided in FK versions + 0.0-0.9 as + + tkframe_-61700_angles = ( -90.0, 0.0, 180.0 ) + + The calibrated rotations that align the spacecraft frame with the + JUNO_UVS_BASE frame, provided in [12], are first by +89.855 deg + about Z, then by -0.625 deg about Y, then by 180 degrees about X. + These angles are incorporated into the JUNO_UVS_BASE frame + definition below. + + For a perfect nominal alignment of the boresight and scan mirror + axis and a perfect nominal 45 degrees position of the mirror plane, + at the "zero" mirror position the JUNO_UVS frame is simply rotated + by -90 degrees about +Z of the JUNO_UVS_BASE frame. For any other + mirror position within the +30/-30 degrees range the two additional + rotations are needed: first by the "scan angle" about +Y, then by + the "scan angle" about +X. These rotations will be stored in CK files. + + Since the frame JUNO_UVS_BASE definition below contain the reverse + transformation -- from the UVS_BASE frame to the spacecraft frame -- + the order of rotations is reversed and the signs of rotation angles + are changed to the opposite ones compared to the description above. + + \begindata + + FRAME_JUNO_UVS_BASE = -61700 + FRAME_-61700_NAME = 'JUNO_UVS_BASE' + FRAME_-61700_CLASS = 4 + FRAME_-61700_CLASS_ID = -61700 + FRAME_-61700_CENTER = -61 + TKFRAME_-61700_SPEC = 'ANGLES' + TKFRAME_-61700_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61700_ANGLES = ( -89.855, 0.625, 180.0 ) + TKFRAME_-61700_AXES = ( 3, 2, 1 ) + TKFRAME_-61700_UNITS = 'DEGREES' + + FRAME_JUNO_UVS = -61701 + FRAME_-61701_NAME = 'JUNO_UVS' + FRAME_-61701_CLASS = 3 + FRAME_-61701_CLASS_ID = -61701 + FRAME_-61701_CENTER = -61 + CK_-61701_SCLK = -61 + CK_-61701_SPK = -61 + + \begintext + + +WAVES Frames +------------------------------------------------------------------------------- + + The set of frames for the WAVES experiment includes two frames + -- JUNO_WAVES_MSC and JUNO_WAVES_ANTENNA. + + The WAVES MSC frame, JUNO_WAVES_MSC, is fixed w.r.t. to the + spacecraft and defined as follows: + + - +Z axis is along the MSC center axis and points in the same + direction as the spacecraft +Z axis + + - +Y axis is in the mounting plate plane and points away from + the spacecraft + + - +X axis completes the right-handed frame + + - the origin of the frame is at the geometric center of the MSC + center axis. + + The WAVES electrical antenna frame, JUNO_WAVES_ANTENNA, is fixed + w.r.t. to the spacecraft and defined as follows: + + - +Z axis is normal to the antenna mounting plane and points + away from the spacecraft; it is nominally co-aligned with the + spacecraft -Z axis + + - +Y axis is in the mounting plate plane and points between the + two antennas is stowed position + + - +X axis completes the right-handed frame + + - the origin of the frame is at the geometric center of the + antenna mounting plate. + + This diagram illustrates the WAVES frames: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ~ ~ ~ ~ ~ ~ ~ ~ `. + \ .-' \. + \-' .-' `-. + \ .-' `-. + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | / | | | | |``--.. + | ' | +Yant | | `--.. + | | o----> <----x +Zant | | | + | . +Zsc +Xsc , | | | ..--'' + | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' . V -------------------' Boom + / `-. ` ----- ' .-' +Xant + Solar / `-. ' + Array 2 / ` .o +Zmsc + /`-. .-' \ + ~ ~ ~ ~ <-' \ + +Xmsc \ +Zsc is out of + V +Ymsc the page. + + The JUNO_WAVES_MSC frame is nominally rotated from the spacecraft + frame by -150 degrees about +Z. + + The JUNO_WAVES_ANTENNA frame is nominally rotated from the spacecraft + frame first by -90 degrees about +Z, then by 180 degrees about +X. + + Since the frame definitions below contain the reverse + transformations, the order of rotations is reversed and the signs of + rotation angles are changed to the opposite ones compared to the + description above. + + \begindata + + FRAME_JUNO_WAVES_MSC = -61810 + FRAME_-61810_NAME = 'JUNO_WAVES_MSC' + FRAME_-61810_CLASS = 4 + FRAME_-61810_CLASS_ID = -61810 + FRAME_-61810_CENTER = -61 + TKFRAME_-61810_SPEC = 'ANGLES' + TKFRAME_-61810_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61810_ANGLES = ( 150.0, 0.0, 0.0 ) + TKFRAME_-61810_AXES = ( 3, 2, 1 ) + TKFRAME_-61810_UNITS = 'DEGREES' + + FRAME_JUNO_WAVES_ANTENNA = -61820 + FRAME_-61820_NAME = 'JUNO_WAVES_ANTENNA' + FRAME_-61820_CLASS = 4 + FRAME_-61820_CLASS_ID = -61820 + FRAME_-61820_CENTER = -61 + TKFRAME_-61820_SPEC = 'ANGLES' + TKFRAME_-61820_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61820_ANGLES = ( 90.0, 0.0, 180.0 ) + TKFRAME_-61820_AXES = ( 3, 2, 1 ) + TKFRAME_-61820_UNITS = 'DEGREES' + + \begintext + + +Solar Array Frames +------------------------------------------------------------------------------- + + Two frames are defined for each of the three solar arrays. + + The first frame -- a fixed-offset frame named JUNO_SA#_HINGE (where + # is 1, 2, or 3) -- is fixed w.r.t. to the spacecraft and is defined + as follows: + + - +Z axis is co-aligned with the s/c +Z axis + + - +X axis is along the solar array symmetry axis and points + from the hinge to the outer side of the array + + - +Y axis is along the hinge axis and points to complete the + right-handed frame + + - the origin of the frame is in the middle of the hinge axis + + The second frame -- a CK-based frame named JUNO_SA# (where # is 1, + 2, or 3) -- rotates about the hinge (+Y) with respect to the + corresponding JUNO_SA#_HINGE frame and is defined as follows: + + - +Z axis is along the normal to the array surface on the solar + cell side + + - +X axis is along the solar array symmetry axis and points + from the hinge towards the outer side of the array + + - +Y axis is along the hinge axis and points to complete the + right-handed frame + + - the origin of the frame is in the middle of between two center + sections of the array + + In the non-articulated ("zero") position the two frames for each of the + arrays are co-aligned, as shown on this diagram: + + Spacecraft +Z side view: + ------------------------ + + .-\ + .-' \ + .-' \ Solar Array 3 + .-' \ + \ .-'\ + \ ^ +Xsa3 + \ , \ \ + \-' \ .-'\ + \ o +Zsa3 \ + +Ysa3 .-' \ + <-' .-'\ <-. Spin Direction + ^ +Xsa3h `. + \ . \ \. + \-' \ .-' `-. + \ o +Zsa3h `-. + +Ysa3h .-' ----- . `-. +Ysa1h +Ysa1 Solar Array 1 + <.-' +Ysc ^ `. ` ^ --------- ^ ----. + / | \ | | | | + | / | \ | | | |``--.. + | ' | +Xsc | +Xsa1h | +Xsa1 `--.. + | | o------> | o-----> o-----> | + | . +Zsc , +Zsa1h +Zsa1 | ..--'' + | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / +Zsa2h ----- ' .-' + / o`-. .-' + / / `-> + +Xsa2h / +Ysa2h + / V / + / -. / + /`-. +Zsa2 `-/ + / o / + / / `-. + +Xsa2 / `-> +Ysa2 + / V + / -. / + /. `-/ + `-. / Solar Array 2 All +Z axes are out of + `-. / the page. + `-. / + ` + + + The keywords below define the solar array frames. + + \begindata + + FRAME_JUNO_SA1_HINGE = -61010 + FRAME_-61010_NAME = 'JUNO_SA1_HINGE' + FRAME_-61010_CLASS = 4 + FRAME_-61010_CLASS_ID = -61010 + FRAME_-61010_CENTER = -61 + TKFRAME_-61010_SPEC = 'ANGLES' + TKFRAME_-61010_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61010_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-61010_AXES = ( 1, 2, 3 ) + TKFRAME_-61010_UNITS = 'DEGREES' + + FRAME_JUNO_SA1 = -61011 + FRAME_-61011_NAME = 'JUNO_SA1' + FRAME_-61011_CLASS = 3 + FRAME_-61011_CLASS_ID = -61011 + FRAME_-61011_CENTER = -61 + CK_-61011_SCLK = -61 + CK_-61011_SPK = -61 + + FRAME_JUNO_SA2_HINGE = -61020 + FRAME_-61020_NAME = 'JUNO_SA2_HINGE' + FRAME_-61020_CLASS = 4 + FRAME_-61020_CLASS_ID = -61020 + FRAME_-61020_CENTER = -61 + TKFRAME_-61020_SPEC = 'ANGLES' + TKFRAME_-61020_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61020_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-61020_AXES = ( 1, 2, 3 ) + TKFRAME_-61020_UNITS = 'DEGREES' + + FRAME_JUNO_SA2 = -61021 + FRAME_-61021_NAME = 'JUNO_SA2' + FRAME_-61021_CLASS = 3 + FRAME_-61021_CLASS_ID = -61021 + FRAME_-61021_CENTER = -61 + CK_-61021_SCLK = -61 + CK_-61021_SPK = -61 + + FRAME_JUNO_SA3_HINGE = -61030 + FRAME_-61030_NAME = 'JUNO_SA3_HINGE' + FRAME_-61030_CLASS = 4 + FRAME_-61030_CLASS_ID = -61030 + FRAME_-61030_CENTER = -61 + TKFRAME_-61030_SPEC = 'ANGLES' + TKFRAME_-61030_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61030_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-61030_AXES = ( 1, 2, 3 ) + TKFRAME_-61030_UNITS = 'DEGREES' + + FRAME_JUNO_SA3 = -61031 + FRAME_-61031_NAME = 'JUNO_SA3' + FRAME_-61031_CLASS = 3 + FRAME_-61031_CLASS_ID = -61031 + FRAME_-61031_CENTER = -61 + CK_-61031_SCLK = -61 + CK_-61031_SPK = -61 + + \begintext + + +Antenna Frames +------------------------------------------------------------------------------- + + The JUNO HGA, MGA, and "forward" and "aft" LGA antenna frames -- + JUNO_HGA, JUNO_MGA, JUNO_LGA_FORWARD, and JUNO_LGA_AFT -- are + defined as follows: + + - +Z axis is along the antenna boresight + + - +X axis is along the clock reference direction of the antenna + pattern + + - +Y axis completes the right-handed frame + + - the origin of the frame is in the geometric center of the + antenna's outer rim or patch + + The JUNO "toroid" LGA frame -- JUNO_LGA_TOROID -- is defined to be + co-aligned with the spacecraft frame. + + All antenna frames are defined as fixed-offset frames with respect + to the spacecraft frame. + + Nominally all antenna frames (except for JUNO_LGA_AFT) are + co-aligned with the spacecraft frame. The JUNO_LGA_AFT frame is + rotated from the spacecraft frame by 180 degrees about +X. + + This diagram illustrates the antenna frames: + + Spacecraft -Y side view: + ------------------------ + + +Zhga + ^ + | +Zmga,+Zlgaf + | ^ ^ + | | | + +Yhga x------> +Xhga + / \ | | + HGA .-------------x-x---->-> +Xmga,+Xlgaf + \ +Ymga,+Ylgaf + `. .' + `-------' + | | Magnetometer + | | Boom + ================o==o==o==o-----------o======o======o======o===========* + Solar | | | Solar Array 1 + Array 2 | | | + | | + | | + | +Zsc ^ | + | +Zlgat | | + | | | + | | | +Ysc, +Yhga, Ylgaf, + `----- +Ysc x------> -' and +Ylgat are into + +Ylgaa o------> /_____\ +Xsc the page. + | +Xlgaa +Xlgat + | +Ylgaa is out of + | the page. + V +Zlgaa + + + According to [11] the measured HGA electrical boresight [in the + spacecraft frame, BVS] is: + + [-3.022155372263570e-04 5.638899817258940e-04 0.999999795346908] + + Three rotations are needed to align the HGA +Z axis with this + direction while keeping the HGA +X axis close to the spacecraft +X + axis: first by +118.1889804 degrees about Z, second by +0.03665615 + degrees about Y and third by -118.1889804 degrees about Z. These + rotations are incorporated in reverse order with opposite signs in + the HGA frame definition below. + + All other antenna frame definitions are nominal as described above. + + The keywords below define the antenna frames. + + \begindata + + FRAME_JUNO_HGA = -61040 + FRAME_-61040_NAME = 'JUNO_HGA' + FRAME_-61040_CLASS = 4 + FRAME_-61040_CLASS_ID = -61040 + FRAME_-61040_CENTER = -61 + TKFRAME_-61040_SPEC = 'ANGLES' + TKFRAME_-61040_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61040_ANGLES = ( -118.1889804, -0.03665615, 118.1889804 ) + TKFRAME_-61040_AXES = ( 3, 2, 3 ) + TKFRAME_-61040_UNITS = 'DEGREES' + + FRAME_JUNO_MGA = -61050 + FRAME_-61050_NAME = 'JUNO_MGA' + FRAME_-61050_CLASS = 4 + FRAME_-61050_CLASS_ID = -61050 + FRAME_-61050_CENTER = -61 + TKFRAME_-61050_SPEC = 'ANGLES' + TKFRAME_-61050_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61050_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-61050_AXES = ( 1, 2, 3 ) + TKFRAME_-61050_UNITS = 'DEGREES' + + FRAME_JUNO_LGA_FORWARD = -61061 + FRAME_-61061_NAME = 'JUNO_LGA_FORWARD' + FRAME_-61061_CLASS = 4 + FRAME_-61061_CLASS_ID = -61061 + FRAME_-61061_CENTER = -61 + TKFRAME_-61061_SPEC = 'ANGLES' + TKFRAME_-61061_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61061_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-61061_AXES = ( 1, 2, 3 ) + TKFRAME_-61061_UNITS = 'DEGREES' + + FRAME_JUNO_LGA_AFT = -61062 + FRAME_-61062_NAME = 'JUNO_LGA_AFT' + FRAME_-61062_CLASS = 4 + FRAME_-61062_CLASS_ID = -61062 + FRAME_-61062_CENTER = -61 + TKFRAME_-61062_SPEC = 'ANGLES' + TKFRAME_-61062_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61062_ANGLES = ( 180.0, 0.0, 0.0 ) + TKFRAME_-61062_AXES = ( 1, 2, 3 ) + TKFRAME_-61062_UNITS = 'DEGREES' + + FRAME_JUNO_LGA_TOROID = -61063 + FRAME_-61063_NAME = 'JUNO_LGA_TOROID' + FRAME_-61063_CLASS = 4 + FRAME_-61063_CLASS_ID = -61063 + FRAME_-61063_CENTER = -61 + TKFRAME_-61063_SPEC = 'ANGLES' + TKFRAME_-61063_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61063_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-61063_AXES = ( 1, 2, 3 ) + TKFRAME_-61063_UNITS = 'DEGREES' + + \begintext + + +ACS Sensor Frames +------------------------------------------------------------------------------- + + This section defined frames for ACS sensors -- SRUs and SSSs. + + +SRU Frames + + The JUNO SRU frames -- JUNO_SRU1 and JUNO_SRU2 -- are defined as + follows: + + - +X axis is along the SRU boresight + + - +Y axis is nominally along the spacecraft +Z axis + + - +Z axis completes the right-handed frame + + - the origin of the frame is at the SRU focal point + + Nominally the SRU1 frame is rotated from the spacecraft frame first + by +90 degrees about X, then by +65 degrees about Y. + + Nominally the SRU2 frame is rotated from the spacecraft frame first + by +90 degrees about X, then by +55 degrees about X. + + This diagram illustrates the SRU frames: + + Spacecraft +Z side view: + ------------------------ + +Xsru1 + Solar Array 3 ^ <-. Spin Direction + / 10 deg `. + ~ ~ ~ ~ ~ ~ ~ ~\ / + \-' .-' / .> +Xsru2 + \ .-' +Ysru1 o. .-' + \ .-' --- +Ysru2`o' Solar Array 1 + .-' +Ysc ^ `.`> +Zsru1 ---------. + | / | \ `. | | + | / | \ | > +Zsru2 | |``--.. + | ' | +Xsc | | | `--.. + | | o------> | | | | | | + | . +Zsc , | | | | ..--'' + | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / `-. .-' + / `-. .-' +Xsru1 and +Xsru2 are + ~ ~ ~ ~ ~ ~ ~ ~ ' into the page. + + Solar Array 2 +Zsc is out of + the page. + + The following pre-launch calibrated misalignments between the + spacecraft frame and the SRU frames were provided in [6]: + + DCM - SMRF to SRU1 (*) + + 0.4204194 0.9073288 0.0013891 + -0.0007953 -0.0011625 0.9999990 + 0.9073296 -0.4204200 0.0002328 + + DCM - SMRF to SRU2 (*) + + 0.5720852 0.8201927 -0.0015696 + 0.0015127 0.0008586 0.9999985 + 0.8201928 -0.5720867 -0.0007496 + + (*) Measured from the SRU alignment cube. Correction from + cube axes (ARF) to instrument axes (BRF) applied via + vendor data + + The misalignments from [6] are incorporated in the two frame + definitions below. + + \begindata + + FRAME_JUNO_SRU1 = -61071 + FRAME_-61071_NAME = 'JUNO_SRU1' + FRAME_-61071_CLASS = 4 + FRAME_-61071_CLASS_ID = -61071 + FRAME_-61071_CENTER = -61 + TKFRAME_-61071_SPEC = 'MATRIX' + TKFRAME_-61071_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61071_MATRIX = ( + 0.4204194 0.9073288 0.0013891 + -0.0007953 -0.0011625 0.9999990 + 0.9073296 -0.4204200 0.0002328 + ) + + FRAME_JUNO_SRU2 = -61072 + FRAME_-61072_NAME = 'JUNO_SRU2' + FRAME_-61072_CLASS = 4 + FRAME_-61072_CLASS_ID = -61072 + FRAME_-61072_CENTER = -61 + TKFRAME_-61072_SPEC = 'MATRIX' + TKFRAME_-61072_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61072_MATRIX = ( + 0.5720852 0.8201927 -0.0015696 + 0.0015127 0.0008586 0.9999985 + 0.8201928 -0.5720867 -0.0007496 + ) + + \begintext + + +SSS Frames + + The JUNO SSS frames -- JUNO_SSS1 and JUNO_SSS2 -- are defined as + follows: + + - +Z axis is along the SSS boresight and is nominally along the + spacecraft -X axis. + + - +X axis is nominally along the spacecraft -Z axis + + - +Y axis completes the right-handed frame + + - the origin of the frame is at the SSS geometric center + + Nominally the SSS frames are rotated from the spacecraft frame first + by +90 degrees about Y, then by 180 degrees about X. + + This diagram illustrates the SSS frames: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + `. + ~ ~ ~ ~ ~ ~ ~ ~\. + \-' .-' `-. + \ .-' `-. + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + +Zss1 | \ | | | | + <------x +Xsss1 | \ | | | |``--.. + <------x +Xsss2 | +Xsc | | | | `--.. + +Zsss2 | o------> | | | | | | + || . +Zsc , | | | | ..--'' + +Ysss1 V| \ / | | | |..--' + +Ysss2 V| \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / `-. .-' + / `-. .-' +Xsss1 and +Xsss2 are + ~ ~ ~ ~ ~ ~ ~ ~/' into the page. + + Solar Array 2 +Zsc is out of + the page. + + Since the frame definitions below contains the reverse + transformations -- from the SSS frames to the spacecraft frame -- + the order of rotations is reversed and the signs of rotation angles + are changed to the opposite ones compared to the description above. + + \begindata + + FRAME_JUNO_SSS1 = -61073 + FRAME_-61073_NAME = 'JUNO_SSS1' + FRAME_-61073_CLASS = 4 + FRAME_-61073_CLASS_ID = -61073 + FRAME_-61073_CENTER = -61 + TKFRAME_-61073_SPEC = 'ANGLES' + TKFRAME_-61073_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61073_ANGLES = ( 0.0, -90.0, 180.0 ) + TKFRAME_-61073_AXES = ( 3, 2, 1 ) + TKFRAME_-61073_UNITS = 'DEGREES' + + FRAME_JUNO_SSS2 = -61074 + FRAME_-61074_NAME = 'JUNO_SSS2' + FRAME_-61074_CLASS = 4 + FRAME_-61074_CLASS_ID = -61074 + FRAME_-61074_CENTER = -61 + TKFRAME_-61074_SPEC = 'ANGLES' + TKFRAME_-61074_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61074_ANGLES = ( 0.0, -90.0, 180.0 ) + TKFRAME_-61074_AXES = ( 3, 2, 1 ) + TKFRAME_-61074_UNITS = 'DEGREES' + + \begintext + + +Truster Frames +------------------------------------------------------------------------------- + + The JUNO REM thruster frames -- JUNO_REM_[FL1,2,3,4] [FA1,2] + [RL1,2,3,4] [RA1,2] -- are defined as follows: + + - +Z axis is along the thrust vector. + + - +X axis is in the plane containing the thrust vector and the + spacecraft +Z axis and points in the direction of the + spacecraft +Z axis + + - +Y axis completes the right-handed frame + + - the origin of the frame is center of the nozzle outer edge. + + These diagrams approximately illustrate the REM thruster vector + directions -- +Z axes of the REM frames, -- other axes are not + shown: + + Spacecraft +Z side view: + ------------------------ + + Solar Array 3 <-. Spin Direction + ^ +Zfa1 `. + ~ ~ ~ ~ ~ ~ ~ ~\| + +Zfl4 <------@@@------> +Zfl1 + \ FL4 FA1 FL1 + \ .-' ----- . `-. Solar Array 1 + .-' +Ysc ^ `. `-.--------------------. + | / | \ | | | | + | / | \ | | | |``--.. + | ' | +Xsc | | | | `--.. + | | o------> | | | | | | + | . +Zsc , | | | | ..--'' + | \ / | | | |..--' + | \ HGA / | | | | Magnetometer + `-. `. .' .-'--------------------' Boom + / `-. ` ----- ' .-' + / FL3 FA2 FL2 + /+Zfl3 <------@@@------> +Zfl2 + ~ ~ ~ ~ ~ ~ ~ ~/| + v +Zfa2 + Solar Array 2 +Zsc is out of + the page. + + Spacecraft -Z side view: + ------------------------ + + Solar Array 2 -. Spin Direction + ^ +Zra2 `. + ~ ~ ~ ~ ~ ~ ~ ~\| v + +Zrl3 <------@@@------> +Zrl2 + \ RL3 RA2 RL2 + \ .-' `-. Solar Array 1 + .-' `-.--------------------. + | | | | | + | | | | |``--.. + | +Zsc +Xsc | | | | `--.. + | o------> | | | | | + | | | | | | ..--'' + | | | | | |..--' + | | | | | | Magnetometer + `-. +Ysc V .-'--------------------' Boom + / `-. .-' + / RL4 RA1 RL1 + +Zrl4 <------@@@------> +Zrl1 + ~ ~ ~ ~ ~ ~ ~ ~/| + v +Zra1 + Solar Array 3 +Zsc is into + the page. + + The angles in the REM frame definitions below are based the + information from [4]. + + \begindata + + FRAME_JUNO_REM_FL1 = -61081 + FRAME_-61081_NAME = 'JUNO_REM_FL1' + FRAME_-61081_CLASS = 4 + FRAME_-61081_CLASS_ID = -61081 + FRAME_-61081_CENTER = -61 + TKFRAME_-61081_SPEC = 'ANGLES' + TKFRAME_-61081_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61081_ANGLES = ( 22.009651, -76.551858, 157.431346 ) + TKFRAME_-61081_AXES = ( 1, 2, 3 ) + TKFRAME_-61081_UNITS = 'DEGREES' + + FRAME_JUNO_REM_FL2 = -61082 + FRAME_-61082_NAME = 'JUNO_REM_FL2' + FRAME_-61082_CLASS = 4 + FRAME_-61082_CLASS_ID = -61082 + FRAME_-61082_CENTER = -61 + TKFRAME_-61082_SPEC = 'ANGLES' + TKFRAME_-61082_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61082_ANGLES = ( -22.009640, -76.551859, -157.431357 ) + TKFRAME_-61082_AXES = ( 1, 2, 3 ) + TKFRAME_-61082_UNITS = 'DEGREES' + + FRAME_JUNO_REM_FL3 = -61083 + FRAME_-61083_NAME = 'JUNO_REM_FL3' + FRAME_-61083_CLASS = 4 + FRAME_-61083_CLASS_ID = -61083 + FRAME_-61083_CENTER = -61 + TKFRAME_-61083_SPEC = 'ANGLES' + TKFRAME_-61083_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61083_ANGLES = ( -22.009651, 76.551858, -22.568654 ) + TKFRAME_-61083_AXES = ( 1, 2, 3 ) + TKFRAME_-61083_UNITS = 'DEGREES' + + FRAME_JUNO_REM_FL4 = -61084 + FRAME_-61084_NAME = 'JUNO_REM_FL4' + FRAME_-61084_CLASS = 4 + FRAME_-61084_CLASS_ID = -61084 + FRAME_-61084_CENTER = -61 + TKFRAME_-61084_SPEC = 'ANGLES' + TKFRAME_-61084_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61084_ANGLES = ( 22.009640, 76.551859, 22.568643 ) + TKFRAME_-61084_AXES = ( 1, 2, 3 ) + TKFRAME_-61084_UNITS = 'DEGREES' + + FRAME_JUNO_REM_FA1 = -61085 + FRAME_-61085_NAME = 'JUNO_REM_FA1' + FRAME_-61085_CLASS = 4 + FRAME_-61085_CLASS_ID = -61085 + FRAME_-61085_CENTER = -61 + TKFRAME_-61085_SPEC = 'ANGLES' + TKFRAME_-61085_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61085_ANGLES = ( 10.000059, 0.000000, 90.000000 ) + TKFRAME_-61085_AXES = ( 1, 2, 3 ) + TKFRAME_-61085_UNITS = 'DEGREES' + + FRAME_JUNO_REM_FA2 = -61086 + FRAME_-61086_NAME = 'JUNO_REM_FA2' + FRAME_-61086_CLASS = 4 + FRAME_-61086_CLASS_ID = -61086 + FRAME_-61086_CENTER = -61 + TKFRAME_-61086_SPEC = 'ANGLES' + TKFRAME_-61086_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61086_ANGLES = ( -10.000059, 0.000000, -90.000000 ) + TKFRAME_-61086_AXES = ( 1, 2, 3 ) + TKFRAME_-61086_UNITS = 'DEGREES' + + FRAME_JUNO_REM_RL1 = -61091 + FRAME_-61091_NAME = 'JUNO_REM_RL1' + FRAME_-61091_CLASS = 4 + FRAME_-61091_CLASS_ID = -61091 + FRAME_-61091_CENTER = -61 + TKFRAME_-61091_SPEC = 'ANGLES' + TKFRAME_-61091_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61091_ANGLES = ( 157.990360, -76.551859, 22.568643 ) + TKFRAME_-61091_AXES = ( 1, 2, 3 ) + TKFRAME_-61091_UNITS = 'DEGREES' + + FRAME_JUNO_REM_RL2 = -61092 + FRAME_-61092_NAME = 'JUNO_REM_RL2' + FRAME_-61092_CLASS = 4 + FRAME_-61092_CLASS_ID = -61092 + FRAME_-61092_CENTER = -61 + TKFRAME_-61092_SPEC = 'ANGLES' + TKFRAME_-61092_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61092_ANGLES = ( -157.990349, -76.551858, -22.568654 ) + TKFRAME_-61092_AXES = ( 1, 2, 3 ) + TKFRAME_-61092_UNITS = 'DEGREES' + + FRAME_JUNO_REM_RL3 = -61093 + FRAME_-61093_NAME = 'JUNO_REM_RL3' + FRAME_-61093_CLASS = 4 + FRAME_-61093_CLASS_ID = -61093 + FRAME_-61093_CENTER = -61 + TKFRAME_-61093_SPEC = 'ANGLES' + TKFRAME_-61093_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61093_ANGLES = ( -157.990360, 76.551859, -157.431357 ) + TKFRAME_-61093_AXES = ( 1, 2, 3 ) + TKFRAME_-61093_UNITS = 'DEGREES' + + FRAME_JUNO_REM_RL4 = -61094 + FRAME_-61094_NAME = 'JUNO_REM_RL4' + FRAME_-61094_CLASS = 4 + FRAME_-61094_CLASS_ID = -61094 + FRAME_-61094_CENTER = -61 + TKFRAME_-61094_SPEC = 'ANGLES' + TKFRAME_-61094_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61094_ANGLES = ( 157.990349, 76.551858, 157.431346 ) + TKFRAME_-61094_AXES = ( 1, 2, 3 ) + TKFRAME_-61094_UNITS = 'DEGREES' + + FRAME_JUNO_REM_RA1 = -61095 + FRAME_-61095_NAME = 'JUNO_REM_RA1' + FRAME_-61095_CLASS = 4 + FRAME_-61095_CLASS_ID = -61095 + FRAME_-61095_CENTER = -61 + TKFRAME_-61095_SPEC = 'ANGLES' + TKFRAME_-61095_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61095_ANGLES = ( 169.999941, 0.000000, 90.000000 ) + TKFRAME_-61095_AXES = ( 1, 2, 3 ) + TKFRAME_-61095_UNITS = 'DEGREES' + + FRAME_JUNO_REM_RA2 = -61096 + FRAME_-61096_NAME = 'JUNO_REM_RA2' + FRAME_-61096_CLASS = 4 + FRAME_-61096_CLASS_ID = -61096 + FRAME_-61096_CENTER = -61 + TKFRAME_-61096_SPEC = 'ANGLES' + TKFRAME_-61096_RELATIVE = 'JUNO_SPACECRAFT' + TKFRAME_-61096_ANGLES = ( -169.999941, 0.000000, -90.000000 ) + TKFRAME_-61096_AXES = ( 1, 2, 3 ) + TKFRAME_-61096_UNITS = 'DEGREES' + + \begintext + + +Juno NAIF ID Codes -- Definitions +======================================================================== + + This section contains name to NAIF ID mappings for the JUNO mission. + Once the contents of this file is loaded into the KERNEL POOL, these + mappings become available within SPICE, making it possible to use + names instead of ID code in the high level SPICE routine calls. + + Spacecraft: + ----------- + + JUNO -61 + JUNO -61 + JUNO_SPACECRAFT -61000 + JUNO_SPACECRAFT_BUS -61000 + JUNO_SC_BUS -61000 + + Magnetometers and CHUs: + ----------------------- + + JUNO_ASC_CHUD -61111 + JUNO_ASC_CHUC -61112 + JUNO_FGM_IB -61114 + JUNO_ASC_CHUB -61121 + JUNO_ASC_CHUA -61122 + JUNO_FGM_OB -61124 + + JADE: + ----- + + JUNO_JADE_E060 -61201 + JUNO_JADE_E180 -61202 + JUNO_JADE_E300 -61203 + JUNO_JADE_I -61204 + + JEDI: + ----- + + JUNO_JEDI_090 -61301 + JUNO_JEDI_A180 -61302 + JUNO_JEDI_270 -61303 + + JIRAM: + ------ + + JUNO_JIRAM_I -61410 + JUNO_JIRAM_I_LBAND -61411 + JUNO_JIRAM_I_MBAND -61412 + JUNO_JIRAM_S -61420 + + JUNOCAM: + -------- + + JUNO_JUNOCAM -61500 + JUNO_JUNOCAM_BLUE -61501 + JUNO_JUNOCAM_GREEN -61502 + JUNO_JUNOCAM_RED -61503 + JUNO_JUNOCAM_METHANE -61504 + + MWR: + ---- + + JUNO_MWR_A1 -61601 + JUNO_MWR_A2 -61602 + JUNO_MWR_A3 -61603 + JUNO_MWR_A4 -61604 + JUNO_MWR_A5 -61605 + JUNO_MWR_A6 -61606 + + UVS: + ---- + + JUNO_UVS_BASE -61700 + JUNO_UVS -61701 + + WAVES: + ------ + + JUNO_WAVES_MSC -61810 + JUNO_WAVES_ANTENNA -61820 + + Solar Arrays: + ------------- + + JUNO_SA1_HINGE -61010 + JUNO_SA1 -61011 + JUNO_SA2_HINGE -61020 + JUNO_SA2 -61021 + JUNO_SA3_HINGE -61030 + JUNO_SA3 -61031 + + Antennas: + --------- + + JUNO_HGA -61040 + JUNO_MGA -61050 + JUNO_LGA_FORWARD -61061 + JUNO_LGA_AFT -61062 + JUNO_LGA_TOROID -61063 + + ACS Sensors: + ------------ + + JUNO_SRU1 -61071 + JUNO_SRU2 -61072 + + JUNO_SSS1 -61073 + JUNO_SSS2 -61074 + + Thrusters: + ---------- + + JUNO_REM_FL1 -61081 + JUNO_REM_FL2 -61082 + JUNO_REM_FL3 -61083 + JUNO_REM_FL4 -61084 + JUNO_REM_FA1 -61085 + JUNO_REM_FA2 -61086 + + JUNO_REM_RL1 -61091 + JUNO_REM_RL2 -61092 + JUNO_REM_RL3 -61093 + JUNO_REM_RL4 -61094 + JUNO_REM_RA1 -61095 + JUNO_REM_RA2 -61096 + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'JUNO' ) + NAIF_BODY_CODE += ( -61 ) + + NAIF_BODY_NAME += ( 'JUNO' ) + NAIF_BODY_CODE += ( -61 ) + + NAIF_BODY_NAME += ( 'JUNO_SPACECRAFT' ) + NAIF_BODY_CODE += ( -61000 ) + + NAIF_BODY_NAME += ( 'JUNO_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -61000 ) + + NAIF_BODY_NAME += ( 'JUNO_SC_BUS' ) + NAIF_BODY_CODE += ( -61000 ) + + NAIF_BODY_NAME += ( 'JUNO_ASC_CHUD' ) + NAIF_BODY_CODE += ( -61111 ) + + NAIF_BODY_NAME += ( 'JUNO_ASC_CHUC' ) + NAIF_BODY_CODE += ( -61112 ) + + NAIF_BODY_NAME += ( 'JUNO_FGM_IB' ) + NAIF_BODY_CODE += ( -61114 ) + + NAIF_BODY_NAME += ( 'JUNO_ASC_CHUB' ) + NAIF_BODY_CODE += ( -61121 ) + + NAIF_BODY_NAME += ( 'JUNO_ASC_CHUA' ) + NAIF_BODY_CODE += ( -61122 ) + + NAIF_BODY_NAME += ( 'JUNO_FGM_OB' ) + NAIF_BODY_CODE += ( -61124 ) + + NAIF_BODY_NAME += ( 'JUNO_JADE_E060' ) + NAIF_BODY_CODE += ( -61201 ) + + NAIF_BODY_NAME += ( 'JUNO_JADE_E180' ) + NAIF_BODY_CODE += ( -61202 ) + + NAIF_BODY_NAME += ( 'JUNO_JADE_E300' ) + NAIF_BODY_CODE += ( -61203 ) + + NAIF_BODY_NAME += ( 'JUNO_JADE_I' ) + NAIF_BODY_CODE += ( -61204 ) + + NAIF_BODY_NAME += ( 'JUNO_JEDI_090' ) + NAIF_BODY_CODE += ( -61301 ) + + NAIF_BODY_NAME += ( 'JUNO_JEDI_A180' ) + NAIF_BODY_CODE += ( -61302 ) + + NAIF_BODY_NAME += ( 'JUNO_JEDI_270' ) + NAIF_BODY_CODE += ( -61303 ) + + NAIF_BODY_NAME += ( 'JUNO_JIRAM_I' ) + NAIF_BODY_CODE += ( -61410 ) + + NAIF_BODY_NAME += ( 'JUNO_JIRAM_I_LBAND' ) + NAIF_BODY_CODE += ( -61411 ) + + NAIF_BODY_NAME += ( 'JUNO_JIRAM_I_MBAND' ) + NAIF_BODY_CODE += ( -61412 ) + + NAIF_BODY_NAME += ( 'JUNO_JIRAM_S' ) + NAIF_BODY_CODE += ( -61420 ) + + NAIF_BODY_NAME += ( 'JUNO_JUNOCAM' ) + NAIF_BODY_CODE += ( -61500 ) + + NAIF_BODY_NAME += ( 'JUNO_JUNOCAM_BLUE' ) + NAIF_BODY_CODE += ( -61501 ) + + NAIF_BODY_NAME += ( 'JUNO_JUNOCAM_GREEN' ) + NAIF_BODY_CODE += ( -61502 ) + + NAIF_BODY_NAME += ( 'JUNO_JUNOCAM_RED' ) + NAIF_BODY_CODE += ( -61503 ) + + NAIF_BODY_NAME += ( 'JUNO_JUNOCAM_METHANE' ) + NAIF_BODY_CODE += ( -61504 ) + + NAIF_BODY_NAME += ( 'JUNO_MWR_A1' ) + NAIF_BODY_CODE += ( -61601 ) + + NAIF_BODY_NAME += ( 'JUNO_MWR_A2' ) + NAIF_BODY_CODE += ( -61602 ) + + NAIF_BODY_NAME += ( 'JUNO_MWR_A3' ) + NAIF_BODY_CODE += ( -61603 ) + + NAIF_BODY_NAME += ( 'JUNO_MWR_A4' ) + NAIF_BODY_CODE += ( -61604 ) + + NAIF_BODY_NAME += ( 'JUNO_MWR_A5' ) + NAIF_BODY_CODE += ( -61605 ) + + NAIF_BODY_NAME += ( 'JUNO_MWR_A6' ) + NAIF_BODY_CODE += ( -61606 ) + + NAIF_BODY_NAME += ( 'JUNO_UVS_BASE' ) + NAIF_BODY_CODE += ( -61700 ) + + NAIF_BODY_NAME += ( 'JUNO_UVS' ) + NAIF_BODY_CODE += ( -61701 ) + + NAIF_BODY_NAME += ( 'JUNO_WAVES_MSC' ) + NAIF_BODY_CODE += ( -61810 ) + + NAIF_BODY_NAME += ( 'JUNO_WAVES_ANTENNA' ) + NAIF_BODY_CODE += ( -61820 ) + + NAIF_BODY_NAME += ( 'JUNO_SA1_HINGE' ) + NAIF_BODY_CODE += ( -61010 ) + + NAIF_BODY_NAME += ( 'JUNO_SA1' ) + NAIF_BODY_CODE += ( -61011 ) + + NAIF_BODY_NAME += ( 'JUNO_SA2_HINGE' ) + NAIF_BODY_CODE += ( -61020 ) + + NAIF_BODY_NAME += ( 'JUNO_SA2' ) + NAIF_BODY_CODE += ( -61021 ) + + NAIF_BODY_NAME += ( 'JUNO_SA3_HINGE' ) + NAIF_BODY_CODE += ( -61030 ) + + NAIF_BODY_NAME += ( 'JUNO_SA3' ) + NAIF_BODY_CODE += ( -61031 ) + + NAIF_BODY_NAME += ( 'JUNO_HGA' ) + NAIF_BODY_CODE += ( -61040 ) + + NAIF_BODY_NAME += ( 'JUNO_MGA' ) + NAIF_BODY_CODE += ( -61050 ) + + NAIF_BODY_NAME += ( 'JUNO_LGA_FORWARD' ) + NAIF_BODY_CODE += ( -61061 ) + + NAIF_BODY_NAME += ( 'JUNO_LGA_AFT' ) + NAIF_BODY_CODE += ( -61062 ) + + NAIF_BODY_NAME += ( 'JUNO_LGA_TOROID' ) + NAIF_BODY_CODE += ( -61063 ) + + NAIF_BODY_NAME += ( 'JUNO_SRU1' ) + NAIF_BODY_CODE += ( -61071 ) + + NAIF_BODY_NAME += ( 'JUNO_SRU2' ) + NAIF_BODY_CODE += ( -61072 ) + + NAIF_BODY_NAME += ( 'JUNO_SSS1' ) + NAIF_BODY_CODE += ( -61073 ) + + NAIF_BODY_NAME += ( 'JUNO_SSS2' ) + NAIF_BODY_CODE += ( -61074 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_FL1' ) + NAIF_BODY_CODE += ( -61081 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_FL2' ) + NAIF_BODY_CODE += ( -61082 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_FL3' ) + NAIF_BODY_CODE += ( -61083 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_FL4' ) + NAIF_BODY_CODE += ( -61084 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_FA1' ) + NAIF_BODY_CODE += ( -61085 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_FA2' ) + NAIF_BODY_CODE += ( -61086 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_RL1' ) + NAIF_BODY_CODE += ( -61091 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_RL2' ) + NAIF_BODY_CODE += ( -61092 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_RL3' ) + NAIF_BODY_CODE += ( -61093 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_RL4' ) + NAIF_BODY_CODE += ( -61094 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_RA1' ) + NAIF_BODY_CODE += ( -61095 ) + + NAIF_BODY_NAME += ( 'JUNO_REM_RA2' ) + NAIF_BODY_CODE += ( -61096 ) + + \begintext diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/mgs_sc_ab1_0_sliced_-94000.xc b/tests/pytests/data/JNCR_2016240_01M06152_V01/mgs_sc_ab1_0_sliced_-94000.xc new file mode 100644 index 0000000000000000000000000000000000000000..c94621b4cb7a3d6605872ac1ce60b0f2da5af256 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/mgs_sc_ab1_0_sliced_-94000.xc @@ -0,0 +1,128 @@ +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~ diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/mgs_sc_ab1_1_sliced_-94000.xc b/tests/pytests/data/JNCR_2016240_01M06152_V01/mgs_sc_ab1_1_sliced_-94000.xc new file mode 100644 index 0000000000000000000000000000000000000000..5fb2e2dda0bb6ee68d8427ea43c8a1837268fd23 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/mgs_sc_ab1_1_sliced_-94000.xc @@ -0,0 +1,120 @@ +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~ diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/naif0012.tls b/tests/pytests/data/JNCR_2016240_01M06152_V01/naif0012.tls new file mode 100644 index 0000000000000000000000000000000000000000..e1afdee1b626e01a3f1b04ef8a43154e83972e56 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/naif0012.tls @@ -0,0 +1,152 @@ +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 + + diff --git a/tests/pytests/data/JNCR_2016240_01M06152_V01/pck00010.tpc b/tests/pytests/data/JNCR_2016240_01M06152_V01/pck00010.tpc new file mode 100644 index 0000000000000000000000000000000000000000..afbf0455544331d33763b83ae01a54369c579700 --- /dev/null +++ b/tests/pytests/data/JNCR_2016240_01M06152_V01/pck00010.tpc @@ -0,0 +1,4093 @@ +KPL/PCK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "pck00010.tpc" +MISSION_NAME = JUNO +SPACECRAFT_NAME = JUNO +DATA_SET_ID = "JNO-J/E/SS-SPICE-6-V1.0" +KERNEL_TYPE_ID = PCK +PRODUCT_ID = "pck00010.tpc" +PRODUCT_CREATION_TIME = 2017-06-06T18:23:16 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = "N/A" +PRODUCT_VERSION_TYPE = ACTUAL +PLATFORM_OR_MOUNTING_NAME = "N/A" +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 = "N/A" +NAIF_INSTRUMENT_ID = "N/A" +SOURCE_PRODUCT_ID = "N/A" +NOTE = "See comments in the file for details" +OBJECT = SPICE_KERNEL + INTERCHANGE_FORMAT = ASCII + KERNEL_TYPE = TARGET_CONSTANTS + DESCRIPTION = "SPICE text PCK file containing constants +from the IAU 2009 report, created by NAIF, JPL. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +P_constants (PcK) SPICE kernel file +=========================================================================== + + By: Nat Bachman (NAIF) 2011 October 21 + + +Purpose +-------------------------------------------------------- + + This file makes available for use in SPICE-based application + software orientation and size/shape data for natural bodies. The + principal source of the data is a published report by the IAU + Working Group on Cartographic Coordinates and Rotational Elements + [1]. + + Orientation and size/shape data not provided by this file may be + available in mission-specific PCK files. Such PCKs may be the + preferred data source for mission-related applications. + Mission-specific PCKs can be found in PDS archives or on the NAIF + web site at URL: + + http://naif.jpl.nasa.gov/naif/data + + +File Organization +-------------------------------------------------------- + + The contents of this file are as follows. + + Introductory Information: + + -- Purpose + + -- File Organization + + -- Version description + + -- Disclaimer + + -- Sources + + -- Explanatory notes + + -- Body numbers and names + + + PcK Data: + + + Orientation Data + ---------------- + + -- Orientation constants for the Sun, planets, and + Pluto. Additional items included in this section: + + - Earth north geomagnetic centered dipole value + for the epochs 2012 + + -- Orientation constants for satellites + + -- Orientation constants for asteroids + + Davida + Eros + Gaspra + Ida + Itokawa + Lutetia + Pallas + Steins + Vesta + + -- Orientation constants for comets + + 19P/Borrelly + 9P/Tempel 1 + + + Orientation data provided in this file are used + by the SPICE Toolkit to evaluate the orientation + of body-fixed, body-centered reference frames + with respect to the ICRF frame ("J2000" in + SPICE documentation). These body-fixed frames + have names of the form + + IAU_<body name> + + for example + + IAU_JUPITER + + See the PCK Required Reading file pck.req for details. + + + + Radii of Bodies + --------------- + + -- Radii of Sun, planets, and Pluto + + -- Radii of satellites, where available + + -- Radii of asteroids + + Ceres + Davida + Eros + Gaspra + Ida + Itokawa + Lutetia + Mathilde + Steins + Toutatis + Vesta + + -- Radii of comets + + 19P/Borrelly + 81P/Wild 2 + 9P/Tempel 1 + Halley + + + +Version Description +-------------------------------------------------------- + + This file was created on October 21, 2011 at NASA's Navigation and + Ancillary Information Facility (NAIF), located at the Jet + Propulsion Laboratory, Pasadena, CA. + + The previous version of the file was + + pck00009.tpc + + That file was published March 3 2010. + + This version incorporates data from reference [1]. This file + contains size, shape, and orientation data for all objects covered + by the previous version of the file. + + New objects covered by this file but not the previous + version are: + + Anthe + Daphnis + Davida + Lutetia + Methone + Pallas + Pallene + Polydeuces + Steins + + + +Disclaimer +-------------------------------------------------------- + +Applicability of Data + + This P_constants file may not contain the parameter values that + you prefer. NAIF suggests that you inspect this file visually + before proceeding with any critical or extended data processing. + +File Modifications by Users + + Note that this file may be readily modified by you to change + values or add/delete parameters. NAIF requests that you update the + "by line," date, version description section, and file name + if you modify this file. + + A user-modified file should be thoroughly tested before + being published or otherwise distributed. + + P_constants files must conform to the standards described + in the two SPICE technical reference documents: + + PCK Required Reading + Kernel Required Reading + + +Known Limitations and Caveats + + Accuracy + -------- + + In general, the orientation models given here are claimed by the + IAU Working Group Report [1] to be accurate to 0.1 degree + ([1], p.158). However, NAIF notes that orientation models for + natural satellites and asteroids have in some cases changed + substantially with the availability of new observational data, so + users are urged to investigate the suitability for their + applications of the models presented here. + + Earth orientation + ----------------- + + NAIF strongly cautions against using the earth rotation model + (from [1]), corresponding to the SPICE reference frame name + IAU_EARTH, for work demanding high accuracy. This model has been + determined by NAIF to have an error in the prime meridian location + of magnitude at least 150 arcseconds, with a local minimum + occurring during the year 1999. Regarding availability of better + earth orientation data for use with the SPICE system: + + Earth orientation data are available from NAIF in the form of + binary earth PCK files. These files provide orientation data + for the ITRF93 (terrestrial) reference frame relative to the + ICRF. + + NAIF employs an automated process to create these files; each + time JPL's Tracking Systems and Applications Section produces a + new earth orientation parameter (EOP) file, a new PCK is + produced. These PCKs cover a roughly 10 year time span starting + at Jan. 1, 2000. In these PCK files, the following effects are + accounted for in modeling the earth's rotation: + + - Precession: 1976 IAU model + + - Nutation: 1980 IAU model, plus interpolated + EOP nutation corrections + + - Polar motion: interpolated from EOP file + + - True sidereal time: + + UT1 - UT1R (if needed): given by analytic formula + + TAI - UT1 (or UT1R): interpolated from EOP file + + UT1 - GMST: given by analytic formula + + equation of equinoxes: given by analytic formula + + where + + TAI = International Atomic Time + UT1 = Greenwich hour angle of computed mean sun - 12h + UT1R = Regularized UT1 + GMST = Greenwich mean sidereal time + + These kernels are available from the NAIF web site + + http://naif.jpl.nasa.gov + + (follow the links to Data, generic_kernels, and PCK data) or + + ftp://naif.jpl.nasa.gov/pub/naif/generic_kernels/pck + + or via anonymous ftp from the server + + naif.jpl.nasa.gov + + The kernels are in the path + + pub/naif/generic_kernels/pck + + At this time, these kernels have file names of the form + + earth_000101_yymmdd_yymmdd.bpc + + The first date in the file name, meaning 2000 January 1, is the + file's coverage begin time. The second and third dates are, + respectively, the file's coverage end time and the epoch of the + last datum. + + These binary PCK files are very accurate (error < 0.1 + microradian) for epochs preceding the epoch of the last datum. + For later epochs, the error rises to several microradians. + + Binary PCK files giving accurate earth orientation from 1972 to + 2007 and *low accuracy* predicted earth orientation from + 2007 to 2037 are also available in the same location. See the + aareadme.txt file at the "pck" URL above for details. + + Characteristics and names of the binary kernels described here + are subject to change. See the "pck" URL above for information + on current binary earth PCKs. + + + Lunar orientation + ----------------- + + The lunar orientation formula provided by this file is a + trigonometric polynomial approximation yielding the orientation of + the lunar "Mean Earth/Polar Axis" (ME) reference frame. The + SPICE reference frame name corresponding to this model is + IAU_MOON. + + A more accurate approximation can be obtained by using both the + NAIF lunar frame kernel and the binary lunar orientation PCK file. + These files provide orientation data for the both the Mean + Earth/Polar Axis frame, which has the SPICE name MOON_ME, and the + Lunar Principal Axes frame, which has the SPICE name MOON_PA. + + These files are available on the NAIF web site (see URLs above) + and in the NAIF server's ftp area. The lunar frame kernel is + located in the path + + pub/naif/generic_kernels/fk/satellites + + and has a name of the form + + moon_yymmdd.tf + + The binary lunar PCK is in the path + + pub/naif/generic_kernels/pck + + and has a name of the form + + moon_pa_dennn_yyyy-yyyy.bpc + + See the "aareadme.txt" files in the paths shown above for details + on file contents and versions. We also suggest you refer to the + SPICE tutorial named "lunar_earth_pck-fk," which is available from + the NAIF web site. + + + Earth geomagnetic dipole + ------------------------ + + The SPICE Toolkit doesn't currently contain software to model the + earth's north geomagnetic centered dipole as a function of time. + As a convenience for users, the north dipole location from the + epoch 2012.0 was selected as a representative datum, and the + planetocentric longitude and latitude of this location have been + associated with the keywords + + BODY399_N_GEOMAG_CTR_DIPOLE_LON + BODY399_N_GEOMAG_CTR_DIPOLE_LAT + + Values for the earth's north geomagnetic centered dipole are + presented in comments as a discrete time series for the time range + 1945-2000. For details concerning the geomagnetic field model from + which these values were derived, including a discussion of the + model's accuracy, see [9] and [11]. + + + Prime meridian offsets + ---------------------- + + Prime meridian offset kernel variables, which have names + of the form + + BODYnnn_LONG_AXIS + + are not used by SPICE geometry software. These variables should be + considered deprecated; however, they will be retained for + backwards compatibility. + + Users wishing to specify an offset reflecting the orientation of a + reference ellipsoid relative to a body-fixed reference frame + specified here should do so by creating a constant-offset frame + (also called a "TK" frame) specification. See the Frames Required + Reading frames.req for details. + + The Mars prime meridian offset given by [5] is provided for + informational purposes only. + + + Software limitations + -------------------- + + SPICE Toolkits prior to version N0057 cannot make use of + trigonometric polynomial terms in the formulas for orientation of + the planets. + + The second nutation precession angle (M2) for Mars is represented + by a quadratic polynomial in the 2006 IAU report. The SPICELIB + subroutine BODEUL can not handle this term (which is extremely + small), so we truncate the polynomial to a linear one. The + resulting orientation error has a maximum magnitude of less + than 0.0032 degrees over the time span 1996-2015 and less than + 0.0082 degrees over the time span 1986-2025. + + +Sources and References +-------------------------------------------------------- + + The sources for the constants listed in this file are: + + + [1] Archinal, B.A., A'Hearn, M.F., Bowell, E., Conrad, A., + Consolmagno, G.J., Courtin, R., Fukushima, T., + Hestroffer, D., Hilton, J.L., Krasinsky, G.A., + Neumann, G., Oberst, J., Seidelmann, P.K., Stooke, P., + Tholen, D.J., Thomas, P.C., and Williams, I.P. + "Report of the IAU Working Group on Cartographic Coordinates + and Rotational Elements: 2009." + + [2] Archinal, B.A., A'Hearn, M.F., Conrad, A., + Consolmagno, G.J., Courtin, R., Fukushima, T., + Hestroffer, D., Hilton, J.L., Krasinsky, G.A., + Neumann, G., Oberst, J., Seidelmann, P.K., Stooke, P., + Tholen, D.J., Thomas, P.C., and Williams, I.P. + "Erratum to: Reports of the IAU Working Group on + Cartographic Coordinates and Rotational Elements: 2006 & + 2009." + + [3] Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F., + Conrad, A., Consolmagno, G.J., Hestroffer, D., + Hilton, J.L., Krasinsky, G.A., Neumann, G., + Oberst, J., Stooke, P., Tedesco, E.F., Tholen, D.J., + and Thomas, P.C. "Report of the IAU/IAG Working Group + on cartographic coordinates and rotational elements: 2006." + + [4] Nautical Almanac Office, United States Naval Observatory + and H.M. Nautical Almanac Office, Rutherford Appleton + Laboratory (2010). "The Astronomical Almanac for + the Year 2010," U.S. Government Printing Office, + Washington, D.C.: and The Stationary Office, London. + + [5] Duxbury, Thomas C. (2001). "IAU/IAG 2000 Mars Cartographic + Conventions," presentation to the Mars Express Data + Archive Working Group, Dec. 14, 2001. + + [6] Russell, C.T. and Luhmann, J.G. (1990). "Earth: Magnetic + Field and Magnetosphere." <http://www-ssc.igpp.ucla. + edu/personnel/russell/papers/earth_mag>. Originally + published in "Encyclopedia of Planetary Sciences," J.H. + Shirley and R.W. Fainbridge, eds. Chapman and Hall, + New York, pp 208-211. + + [7] Russell, C.T. (1971). "Geophysical Coordinate + Transformations," Cosmic Electrodynamics 2 184-186. + NAIF document 181.0. + + [8] ESA/ESTEC Space Environment Information System (SPENVIS) + (2003). Web page: "Dipole approximations of the + geomagnetic field." <http://www.spenvis.oma.be/spenvis/ + help/background/magfield/cd.html>. + + [9] International Association of Geomagnetism and Aeronomy + and International Union of Geodesy and Geophysics (2004). + Web page: "The 9th Generation International Geomagnetic + Reference Field." <http://www.ngdc.noaa.gov/ + IAGA/vmod/igrf.html>. + + [10] Davies, M.E., Abalakin, V.K., Bursa, M., Hunt, G.E., + and Lieske, J.H. (1989). "Report of the IAU/IAG/COSPAR + Working Group on Cartographic Coordinates and Rotational + Elements of the Planets and Satellites: 1988," Celestial + Mechanics and Dynamical Astronomy, v.46, no.2, pp. + 187-204. + + [11] International Association of Geomagnetism and Aeronomy + Web page: "International Geomagnetic Reference Field." + Discussion URL: + + http://www.ngdc.noaa.gov/IAGA/vmod/igrf.html + + Coefficients URL: + + http://www.ngdc.noaa.gov/IAGA/vmod/igrf11coeffs.txt + + + + Most values are from [1]. All exceptions are + commented where they occur in this file. The exceptions are: + + + -- Radii for the Sun are from [4]. + + -- Prime meridian constant (W0) terms for Pluto, Charon, + and Ida are from [2]. + + -- The second nutation precession angle (M2) for Mars is + represented by a quadratic polynomial in the 2000 + IAU report. The SPICELIB subroutine BODEUL can not + handle this term (which is extremely small), so we + truncate the polynomial to a linear one. + + -- Earth north geomagnetic centered dipole values are from + [11]. The values were also computed from the 11th + generation IGRF by Nat Bachman. + + + "Old values" listed are from the SPICE P_constants file + pck00009.tpc dated March 3, 2010. Most of these values came + from the 2006 IAU report [3]. + + + + +Explanatory Notes +-------------------------------------------------------- + + This file, which is logically part of the SPICE P-kernel, contains + constants used to model the orientation, size and shape of the + Sun, planets, natural satellites, and selected comets and + asteroids. The orientation models express the direction of the + pole and location of the prime meridian of a body as a function of + time. The size/shape models ("shape models" for short) represent + all bodies as ellipsoids, using two equatorial radii and a polar + radius. Spheroids and spheres are obtained when two or all three + radii are equal. + + The SPICE Toolkit routines that use this file are documented in + the SPICE "Required Reading" file pck.req. They are also + documented in the "PCK" SPICE tutorial, which is available on + the NAIF web site. + +File Format + + A terse description of the PCK file format is given here. See the + SPICE "Required Reading" files pck.req and kernel.req for a + detailed explanation of the SPICE text kernel file format. The + files pck.req and kernel.req are included in the documentation + provided with the SPICE Toolkit. + + The file starts out with the ``ID word'' string + + KPL/PCK + + This string identifies the file as a text kernel containing PCK + data. + + This file consists of a series of comment blocks and data blocks. + Comment blocks, which contain free-form descriptive or explanatory + text, are preceded by a \begintext token. Data blocks follow a + \begindata token. In order to be recognized, each of these tokens + must be placed on a line by itself. + + The portion of the file preceding the first data block is treated + as a comment block; it doesn't require an initial \begintext + token. + + This file identifies data using a series of + + KEYWORD = VALUE + + assignments. The left hand side of each assignment is a + "kernel variable" name; the right hand side is an associated value + or list of values. The SPICE subroutine API allows SPICE routines + and user applications to retrieve the set of values associated + with each kernel variable name. + + Kernel variable names are case-sensitive and are limited to + 32 characters in length. + + Numeric values may be integer or floating point. String values + are normally limited to 80 characters in length; however, SPICE + provides a mechanism for identifying longer, "continued" strings. + See the SPICE routine STPOOL for details. + + String values are single quoted. + + When the right hand side of an assignment is a list of values, + the list items may be separated by commas or simply by blanks. + The list must be bracketed by parentheses. Example: + + BODY399_RADII = ( 6378.1366 6378.1366 6356.7519 ) + + Any blanks preceding or following keyword names, values and equal + signs are ignored. + + Assignments may be spread over multiple lines, for example: + + BODY399_RADII = ( 6378.1366 + 6378.1366 + 6356.7519 ) + + This file may contain blank lines anywhere. Non-printing + characters including TAB should not be present in the file: the + presence of such characters may cause formatting errors when the + file is viewed. + +Time systems and reference frames + + The 2009 IAU Working Group Report [1] states the time scale used + as the independent variable for the rotation formulas is + Barycentric Dynamical Time (TDB) and that the epoch of variable + quantities is J2000 TDB (2000 Jan 1 12:00:00 TDB, Julian ephemeris + date 2451545.0 TDB). Throughout SPICE documentation and in this + file, we use the names "J2000 TDB" and "J2000" for this epoch. The + name "J2000.0" is equivalent. + + SPICE documentation refers to the time system used in this file + as either "ET" or "TDB." SPICE software makes no distinction + between TDB and the time system associated with the independent + variable of the JPL planetary ephemerides T_eph. + + The inertial reference frame used for the rotational elements in + this file is identified by [1] as the ICRF (International + Celestial Reference Frame). + + The SPICE PCK software that reads this file uses the label "J2000" + to refer to the ICRF; this is actually a mislabeling which has + been retained in the interest of backward compatibility. Using + data from this file, by means of calls to the SPICE frame + transformation routines, will actually compute orientation + relative to the ICRF. + + The difference between the J2000 frame and the ICRF is + on the order of tens of milliarcseconds and is well below the + accuracy level of the formulas in this file. + +Orientation models + + All of the orientation models use three Euler angles to describe + the orientation of the coordinate axes of the "Body Equator and + Prime Meridian" system with respect to an inertial system. By + default, the inertial system is the ICRF (labeled as "J2000"), but + other inertial frames can be specified in the file. See the PCK + Required Reading for details. + + The first two angles, in order, are the ICRF right ascension and + declination (henceforth RA and DEC) of the north pole of a body as + a function of time. The third angle is the prime meridian location + (represented by "W"), which is expressed as a rotation about the + north pole, and is also a function of time. + + For each body, the expressions for the north pole's right + ascension and declination, as well as prime meridian location, are + sums (as far as the models that appear in this file are concerned) + of quadratic polynomials and trigonometric polynomials, where the + independent variable is time. + + In this file, the time arguments in expressions always refer to + Barycentric Dynamical Time (TDB), measured in centuries or days + past a reference epoch. By default, the reference epoch is the + J2000 epoch, which is Julian ephemeris date 2451545.0 (2000 Jan 1 + 12:00:00 TDB), but other epochs can be specified in the file. See + the PCK Required Reading for details. + + Orientation models for satellites and some planets (including + Jupiter) involve both polynomial terms and trigonometric terms. + The arguments of the trigonometric terms are linear polynomials. + In this file, we call the arguments of these trigonometric terms + "nutation precession angles." + + Example: 2009 IAU Model for orientation of Jupiter. Note that + these values are used as an example only; see the data area below + for current values. + + Right ascension + --------------- + + alpha = 268.056595 - 0.006499 T + 0.000117 sin(Ja) + 0 + 0.000938 sin(Jb) + 0.001432 sin(Jc) + + 0.000030 sin(Jd) + 0.002150 sin(Je) + + Declination + ----------- + + delta = 64.495303 + 0.002413 T + 0.000050 cos(Ja) + 0 + 0.000404 cos(Jb) + 0.000617 cos(Jc) + - 0.000013 cos(Jd) + 0.000926 cos(Je) + + Prime meridian + -------------- + + W = 284.95 + 870.5366420 d + + + Here + + T represents centuries past J2000 ( TDB ), + + d represents days past J2000 ( TDB ). + + Ja-Je are nutation precession angles. + + In this file, the polynomials' coefficients above are assigned + to kernel variable names (left-hand-side symbols) as follows + + BODY599_POLE_RA = ( 268.056595 -0.006499 0. ) + BODY599_POLE_DEC = ( 64.495303 0.002413 0. ) + BODY599_PM = ( 284.95 870.5360000 0. ) + + and the trigonometric polynomials' coefficients are assigned + as follows + + BODY599_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.000117 + 0.000938 + 0.001432 + 0.000030 + 0.002150 ) + + BODY599_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.000050 + 0.000404 + 0.000617 + -0.000013 + 0.000926 ) + + BODY599_NUT_PREC_PM = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.0 + 0.0 + 0.0 + 0.0 + 0.0 ) + + Note the number "599"; this is the NAIF ID code for Jupiter. + + In this file, the polynomial expressions for the nutation + precession angles are listed along with the planet's RA, DEC, and + prime meridian terms. Below are the 2006 IAU nutation precession + angles for the Jupiter system. + + J1 = 73.32 + 91472.9 T + J2 = 24.62 + 45137.2 T + J3 = 283.90 + 4850.7 T + J4 = 355.80 + 1191.3 T + J5 = 119.90 + 262.1 T + J6 = 229.80 + 64.3 T + J7 = 352.25 + 2382.6 T + J8 = 113.35 + 6070.0 T + + J9 = 146.64 + 182945.8 T + J10 = 49.24 + 90274.4 T + + Ja = 99.360714 + 4850.4046 T + Jb = 175.895369 + 1191.9605 T + Jc = 300.323162 + 262.5475 T + Jd = 114.012305 + 6070.2476 T + Je = 49.511251 + 64.3000 T + + Here + + T represents centuries past J2000 ( TDB ) + + J1-J10 and Ja-Je are the nutation precession angles. The angles + J9 and J10 are equal to 2*J1 and 2*J2, respectively. + + Angles J9 and J10 are not present in [1]; they have been added + to fit the terms 2*J1 and 2*J2, which appear in the orientation + models of several satellites, into a form that can be accepted + by the PCK system. + + The assignment of the nutation precession angles for the + Jupiter system is as follows: + + BODY5_NUT_PREC_ANGLES = ( 73.32 91472.9 + 24.62 45137.2 + 283.90 4850.7 + 355.80 1191.3 + 119.90 262.1 + 229.80 64.3 + 352.25 2382.6 + 113.35 6070.0 + 146.64 182945.8 + 49.24 90274.4 + 99.360714 4850.4046 + 175.895369 1191.9605 + 300.323162 262.5475 + 114.012305 6070.2476 + 49.511251 64.3000 ) + + You'll see an additional symbol grouped with the ones listed + above; it is + + BODY599_LONG_AXIS + + This is a deprecated feature; see the note on "Prime meridian + offsets" under "Known Limitations and Caveats" above. + + The pattern of the formulas for satellite orientation is similar + to that for Jupiter. Example: 2006 IAU values for Io. Again, these + values are used as an example only; see the data area below for + current values. + + Right ascension + --------------- + + alpha = 268.05 - 0.009 T + 0.094 sin(J3) + 0.024 sin(J4) + 0 + + Declination + ----------- + + delta = 64.50 + 0.003 T + 0.040 cos(J3) + 0.011 cos(J4) + 0 + + Prime meridian + -------------- + + W = 200.39 + 203.4889538 d - 0.085 sin(J3) - 0.022 sin(J4) + + + d represents days past J2000. + + J3 and J4 are nutation precession angles. + + The polynomial terms are assigned to symbols by the statements + + BODY501_POLE_RA = ( 268.05 -0.009 0. ) + BODY501_POLE_DEC = ( 64.50 0.003 0. ) + BODY501_PM = ( 200.39 203.4889538 0. ) + + The coefficients of the trigonometric terms are assigned to symbols by + the statements + + BODY501_NUT_PREC_RA = ( 0. 0. 0.094 0.024 ) + BODY501_NUT_PREC_DEC = ( 0. 0. 0.040 0.011 ) + BODY501_NUT_PREC_PM = ( 0. 0. -0.085 -0.022 ) + + 501 is the NAIF ID code for Io. + + SPICE software expects the models for satellite orientation to + follow the form of the model shown here: the polynomial portions of the + RA, DEC, and W expressions are expected to be quadratic, the + trigonometric terms for RA and W (satellite prime meridian) are expected + to be linear combinations of sines of nutation precession angles, the + trigonometric terms for DEC are expected to be linear combinations of + cosines of nutation precession angles, and the polynomials for the + nutation precession angles themselves are expected to be linear. + + Eventually, the software will handle more complex expressions, we + expect. + + +Shape models + + There is only one kind of shape model supported by the SPICE + Toolkit software at present: the triaxial ellipsoid. The 2009 IAU + report [1] does not use any other models, except in the case of + Mars, where separate values are given for the north and south + polar radii. In this file, we provide as a datum the mean Mars + polar radius provided by [1]. The North and South values are + included as comments. + + For each body, three radii are listed: The first number is + the largest equatorial radius (the length of the semi-axis + containing the prime meridian), the second number is the smaller + equatorial radius, and the third is the polar radius. + + Example: Radii of the Earth. + + BODY399_RADII = ( 6378.1366 6378.1366 6356.7519 ) + + + +Body Numbers and Names +-------------------------------------------------------- + + + The following NAIF body ID codes and body names appear in this + file. See the NAIF IDs Required Reading file naif_ids.req for + a detailed discussion and a complete list of ID codes and names. + + + 1 Mercury barycenter + 2 Venus barycenter + 3 Earth barycenter + 4 Mars barycenter + 5 Jupiter barycenter + 6 Saturn barycenter + 7 Uranus barycenter + 8 Neptune barycenter + 9 Pluto barycenter + 10 Sun + + + 199 Mercury + + + 299 Venus + + + 399 Earth + + 301 Moon + + + 499 Mars + + 401 Phobos 402 Deimos + + + 599 Jupiter + + 501 Io 502 Europa 503 Ganymede 504 Callisto + 505 Amalthea 506 Himalia 507 Elara 508 Pasiphae + 509 Sinope 510 Lysithea 511 Carme 512 Ananke + 513 Leda 514 Thebe 515 Adrastea 516 Metis + + + 699 Saturn + + 601 Mimas 602 Enceladus 603 Tethys 604 Dione + 605 Rhea 606 Titan 607 Hyperion 608 Iapetus + 609 Phoebe 610 Janus 611 Epimetheus 612 Helene + 613 Telesto 614 Calypso 615 Atlas 616 Prometheus + 617 Pandora 618 Pan 632 Methone 633 Pallene + 634 Polydeuces 635 Daphnis 649 Anthe + + + 799 Uranus + + 701 Ariel 702 Umbriel 703 Titania 704 Oberon + 705 Miranda 706 Cordelia 707 Ophelia 708 Bianca + 709 Cressida 710 Desdemona 711 Juliet 712 Portia + 713 Rosalind 714 Belinda 715 Puck + + + 899 Neptune + + 801 Triton 802 Nereid 803 Naiad 804 Thalassa + 805 Despina 806 Galatea 807 Larissa 808 Proteus + + + 999 Pluto + + 901 Charon + + + 1000005 Comet 19P/Borrelly + 1000036 Comet Halley + 1000093 Comet 9P/Tempel 1 + 1000107 Comet 81P/Wild 2 + + 2000001 Asteroid Ceres + 2000002 Asteroid Pallas + 2000004 Asteroid Vesta + 2000021 Asteroid Lutetia + 2000216 Asteroid Kleopatra + 2000253 Asteroid Mathilde + 2000433 Asteroid Eros + 2000511 Asteroid Davida + 2002867 Asteroid Steins + 2004179 Asteroid Toutatis + 2025143 Asteroid Itokawa + 2431010 Asteroid Ida + 9511010 Asteroid Gaspra + + +Orientation Constants for the Sun and Planets +-------------------------------------------------------- + + +Sun + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY10_POLE_RA = ( 286.13 0. 0. ) + BODY10_POLE_DEC = ( 63.87 0. 0. ) + BODY10_PM = ( 84.176 14.18440 0. ) + BODY10_LONG_AXIS = ( 0. ) + + \begintext + +Mercury + + Old values: + + Values are from the 2006 IAU report. + + body199_pole_ra = ( 281.01 -0.033 0. ) + body199_pole_dec = ( 61.45 -0.005 0. ) + body199_pm = ( 329.548 6.1385025 0. ) + + + Current values: + + \begindata + + BODY199_POLE_RA = ( 281.0097 -0.0328 0. ) + BODY199_POLE_DEC = ( 61.4143 -0.0049 0. ) + BODY199_PM = ( 329.5469 6.1385025 0. ) + + BODY199_LONG_AXIS = ( 0. ) + + BODY199_NUT_PREC_RA = ( 0. 0. 0. 0. 0. ) + + BODY199_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. ) + + BODY199_NUT_PREC_PM = ( 0.00993822 + -0.00104581 + -0.00010280 + -0.00002364 + -0.00000532 ) + \begintext + + The linear coefficients have been scaled up from degrees/day + to degrees/century, because the SPICELIB PCK reader expects + these units. The original constants were: + + 174.791086 4.092335 + 349.582171 8.184670 + 164.373257 12.277005 + 339.164343 16.369340 + 153.955429 20.461675 + + + \begindata + + BODY1_NUT_PREC_ANGLES = ( 174.791086 0.14947253587500003E+06 + 349.582171 0.29894507175000006E+06 + 164.373257 0.44841760762500006E+06 + 339.164343 0.59789014350000012E+06 + 153.955429 0.74736267937499995E+06 ) + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY299_POLE_RA = ( 272.76 0. 0. ) + BODY299_POLE_DEC = ( 67.16 0. 0. ) + BODY299_PM = ( 160.20 -1.4813688 0. ) + + BODY299_LONG_AXIS = ( 0. ) + + \begintext + + +Earth + + Old values: + + Values are unchanged in the 2009 report. + + Current values: + + \begindata + + BODY399_POLE_RA = ( 0. -0.641 0. ) + BODY399_POLE_DEC = ( 90. -0.557 0. ) + BODY399_PM = ( 190.147 360.9856235 0. ) + BODY399_LONG_AXIS = ( 0. ) + + \begintext + + + Nutation precession angles for the Earth-Moon system: + + The linear coefficients have been scaled up from degrees/day + to degrees/century, because the SPICELIB PCK reader expects + these units. The original constants were: + + 125.045D0 -0.0529921D0 + 250.089D0 -0.1059842D0 + 260.008D0 13.0120009D0 + 176.625D0 13.3407154D0 + 357.529D0 0.9856003D0 + 311.589D0 26.4057084D0 + 134.963D0 13.0649930D0 + 276.617D0 0.3287146D0 + 34.226D0 1.7484877D0 + 15.134D0 -0.1589763D0 + 119.743D0 0.0036096D0 + 239.961D0 0.1643573D0 + 25.053D0 12.9590088D0 + + + \begindata + + + BODY3_NUT_PREC_ANGLES = ( 125.045 -1935.5364525000 + 250.089 -3871.0729050000 + 260.008 475263.3328725000 + 176.625 487269.6299850000 + 357.529 35999.0509575000 + 311.589 964468.4993100000 + 134.963 477198.8693250000 + 276.617 12006.3007650000 + 34.226 63863.5132425000 + 15.134 -5806.6093575000 + 119.743 131.8406400000 + 239.961 6003.1503825000 + 25.053 473327.7964200000 ) + + + \begintext + + + Earth north geomagnetic centered dipole: + + The north dipole location is time-varying. The values shown + below, taken from [8], represent a discrete sampling of the + north dipole location from 1945 to 2000. The terms DGRF and + IGRF refer to, respectively, "Definitive Geomagnetic + Reference Field" and "International Geomagnetic Reference + Field." See references [6], [8], and [9] for details. + + Coordinates are planetocentric. + + Data source Lat Lon + ----------- ----- ------ + DGRF 1945 78.47 291.47 + DGRF 1950 78.47 291.15 + DGRF 1955 78.46 290.84 + DGRF 1960 78.51 290.53 + DGRF 1965 78.53 290.15 + DGRF 1970 78.59 289.82 + DGRF 1975 78.69 289.53 + DGRF 1980 78.81 289.24 + DGRF 1985 78.97 289.10 + DGRF 1990 79.13 288.89 + IGRF 1995 79.30 288.59 + IGRF 2000 79.54 288.43 + + Original values: + + Values are from [7]. Note the year of publication was 1971. + + body399_mag_north_pole_lon = ( -69.761 ) + body399_mag_north_pole_lat = ( 78.565 ) + + Previous values: + + body399_n_geomag_ctr_dipole_lon = ( 288.43 ) + body399_n_geomag_ctr_dipole_lat = ( 79.54 ) + + + Current values: + + Values are given for the epoch 2012.0 and were derived + by Nat Bachman from constants provided by [11]. + + \begindata + + BODY399_N_GEOMAG_CTR_DIPOLE_LON = ( 287.62 ) + BODY399_N_GEOMAG_CTR_DIPOLE_LAT = ( 80.13 ) + + \begintext + + + + +Mars + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY499_POLE_RA = ( 317.68143 -0.1061 0. ) + BODY499_POLE_DEC = ( 52.88650 -0.0609 0. ) + BODY499_PM = ( 176.630 350.89198226 0. ) + + \begintext + + Source [5] specifies the following value for the lambda_a term + (BODY499_LONG_AXIS ) for Mars. This term is the POSITIVE EAST + LONGITUDE, measured from the prime meridian, of the meridian + containing the longest axis of the reference ellipsoid. + (CAUTION: previous values were POSITIVE WEST.) + + body499_long_axis = ( 252. ) + + We list this lambda_a value for completeness. The IAU report + [1] gives equal values for both equatorial radii, so the + lambda_a offset does not apply to the IAU model. + + The 2003 IAU report defines M2, the second nutation precession angle, + by: + + 2 + 192.93 + 1128.4096700 d + 8.864 T + + We truncate the M2 series to a linear expression, because the PCK + software cannot handle the quadratic term. + + Again, the linear terms are scaled by 36525.0: + + -0.4357640000000000 --> -15916.28010000000 + 1128.409670000000 --> 41215163.19675000 + -1.8151000000000000E-02 --> -662.9652750000000 + + We also introduce a fourth nutation precession angle, which + is the pi/2-complement of the third angle. This angle is used + in computing the prime meridian location for Deimos. See the + discussion of this angle below in the section containing orientation + constants for Deimos. + + \begindata + + BODY4_NUT_PREC_ANGLES = ( 169.51 -15916.2801 + 192.93 41215163.19675 + 53.47 -662.965275 + 36.53 662.965275 ) + + \begintext + + +Jupiter + + Old values: + + The rotation rate is from the 2006 IAU report; all other + values are unchanged in the 2009 report. + + body599_pm = ( 284.95 870.5366420 0. ) + + + Current values: + + The number of nutation precession angles is 15. The ninth and + tenth are twice the first and second, respectively. The + eleventh through fifteenth correspond to angles JA-JE in + the 2006 IAU report; angles JA-JE were not used prior to that + report. + + \begindata + + + BODY599_POLE_RA = ( 268.056595 -0.006499 0. ) + BODY599_POLE_DEC = ( 64.495303 0.002413 0. ) + BODY599_PM = ( 284.95 870.5360000 0. ) + BODY599_LONG_AXIS = ( 0. ) + + BODY599_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.000117 + 0.000938 + 0.001432 + 0.000030 + 0.002150 ) + + BODY599_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.000050 + 0.000404 + 0.000617 + -0.000013 + 0.000926 ) + + BODY599_NUT_PREC_PM = ( 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.0 + 0.0 + 0.0 + 0.0 + 0.0 ) + + + BODY5_NUT_PREC_ANGLES = ( 73.32 91472.9 + 24.62 45137.2 + 283.90 4850.7 + 355.80 1191.3 + 119.90 262.1 + 229.80 64.3 + 352.25 2382.6 + 113.35 6070.0 + 146.64 182945.8 + 49.24 90274.4 + 99.360714 4850.4046 + 175.895369 1191.9605 + 300.323162 262.5475 + 114.012305 6070.2476 + 49.511251 64.3000 ) + \begintext + + +Saturn + + Old values: + + Values are from the 2006 IAU report. + + + body699_pole_ra = ( 40.589 -0.036 0. ) + body699_pole_dec = ( 83.537 -0.004 0. ) + body699_pm = ( 38.90 810.7939024 0. ) + body699_long_axis = ( 0. ) + + + The first seven angles given here are the angles S1 + through S7 from the 2000 report; the eighth and + ninth angles are 2*S1 and 2*S2, respectively. + + + body6_nut_prec_angles = ( 353.32 75706.7 + 28.72 75706.7 + 177.40 -36505.5 + 300.00 -7225.9 + 316.45 506.2 + 345.20 -1016.3 + 29.80 -52.1 + 706.64 151413.4 + 57.44 151413.4 ) + + + Current values: + + + The change from the previous set of values is the + removal of S7. This causes BODY6_NUT_PREC_ANGLES + elements that formerly corresponded to 2*S1 and 2*S1 + to be shifted toward the start of the array. + + \begindata + + BODY699_POLE_RA = ( 40.589 -0.036 0. ) + BODY699_POLE_DEC = ( 83.537 -0.004 0. ) + BODY699_PM = ( 38.90 810.7939024 0. ) + BODY699_LONG_AXIS = ( 0. ) + + \begintext + + The first six angles given here are the angles S1 + through S6 from the 2009 report; the seventh and + eigth angles are 2*S1 and 2*S2, respectively. + + + \begindata + + BODY6_NUT_PREC_ANGLES = ( 353.32 75706.7 + 28.72 75706.7 + 177.40 -36505.5 + 300.00 -7225.9 + 316.45 506.2 + 345.20 -1016.3 + 706.64 151413.4 + 57.44 151413.4 ) + \begintext + + +Uranus + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY799_POLE_RA = ( 257.311 0. 0. ) + BODY799_POLE_DEC = ( -15.175 0. 0. ) + BODY799_PM = ( 203.81 -501.1600928 0. ) + BODY799_LONG_AXIS = ( 0. ) + + \begintext + + The first 16 angles given here are the angles U1 + through U16 from the 2000 report; the 17th and + 18th angles are 2*U11 and 2*U12, respectively. + + \begindata + + BODY7_NUT_PREC_ANGLES = ( 115.75 54991.87 + 141.69 41887.66 + 135.03 29927.35 + 61.77 25733.59 + 249.32 24471.46 + 43.86 22278.41 + 77.66 20289.42 + 157.36 16652.76 + 101.81 12872.63 + 138.64 8061.81 + 102.23 -2024.22 + 316.41 2863.96 + 304.01 -51.94 + 308.71 -93.17 + 340.82 -75.32 + 259.14 -504.81 + 204.46 -4048.44 + 632.82 5727.92 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY899_POLE_RA = ( 299.36 0. 0. ) + BODY899_POLE_DEC = ( 43.46 0. 0. ) + BODY899_PM = ( 253.18 536.3128492 0. ) + BODY899_LONG_AXIS = ( 0. ) + + + BODY899_NUT_PREC_RA = ( 0.70 0. 0. 0. 0. 0. 0. 0. ) + BODY899_NUT_PREC_DEC = ( -0.51 0. 0. 0. 0. 0. 0. 0. ) + BODY899_NUT_PREC_PM = ( -0.48 0. 0. 0. 0. 0. 0. 0. ) + + \begintext + + The 2000 report defines the nutation precession angles + + N, N1, N2, ... , N7 + + and also uses the multiples of N1 and N7 + + 2*N1 + + and + + 2*N7, 3*N7, ..., 9*N7 + + In this file, we treat the angles and their multiples as + separate angles. In the kernel variable + + BODY8_NUT_PREC_ANGLES + + the order of the angles is + + N, N1, N2, ... , N7, 2*N1, 2*N7, 3*N7, ..., 9*N7 + + Each angle is defined by a linear polynomial, so two + consecutive array elements are allocated for each + angle. The first term of each pair is the constant term, + the second is the linear term. + + \begindata + + BODY8_NUT_PREC_ANGLES = ( 357.85 52.316 + 323.92 62606.6 + 220.51 55064.2 + 354.27 46564.5 + 75.31 26109.4 + 35.36 14325.4 + 142.61 2824.6 + 177.85 52.316 + 647.840 125213.200 + 355.700 104.632 + 533.550 156.948 + 711.400 209.264 + 889.250 261.580 + 1067.100 313.896 + 1244.950 366.212 + 1422.800 418.528 + 1600.650 470.844 ) + + \begintext + + + + +Orientation Constants for the Dwarf Planet Pluto +-------------------------------------------------------- + +Pluto + + Old values: + + Values are from the 2006 IAU report. + + body999_pole_ra = ( 312.993 0. 0. ) + body999_pole_dec = ( 6.163 0. 0. ) + body999_pm = ( 237.305 -56.3625225 0. ) + body999_long_axis = ( 0. ) + + + Current values: + + Due to the new definition of planetocentric coordinates + for small bodies, and to the reclassification of Pluto + as a dwarf planet, Pluto's north pole direction has been + inverted. + + The PM constant W0 is from [2]. + + \begindata + + BODY999_POLE_RA = ( 132.993 0. 0. ) + BODY999_POLE_DEC = ( -6.163 0. 0. ) + BODY999_PM = ( 302.695 56.3625225 0. ) + BODY999_LONG_AXIS = ( 0. ) + + \begintext + + + + +Orientation constants for the satellites +-------------------------------------------------------- + + +Satellites of Earth + + Old values: + + Values are unchanged in the 2009 IAU report. + + New values: + + \begindata + + + BODY301_POLE_RA = ( 269.9949 0.0031 0. ) + BODY301_POLE_DEC = ( 66.5392 0.0130 0. ) + BODY301_PM = ( 38.3213 13.17635815 -1.4D-12 ) + BODY301_LONG_AXIS = ( 0. ) + + BODY301_NUT_PREC_RA = ( -3.8787 -0.1204 0.0700 -0.0172 + 0.0 0.0072 0.0 0.0 + 0.0 -0.0052 0.0 0.0 + 0.0043 ) + + BODY301_NUT_PREC_DEC = ( 1.5419 0.0239 -0.0278 0.0068 + 0.0 -0.0029 0.0009 0.0 + 0.0 0.0008 0.0 0.0 + -0.0009 ) + + BODY301_NUT_PREC_PM = ( 3.5610 0.1208 -0.0642 0.0158 + 0.0252 -0.0066 -0.0047 -0.0046 + 0.0028 0.0052 0.0040 0.0019 + -0.0044 ) + \begintext + + + +Satellites of Mars + + + Phobos + + Old values: + + Values are unchanged in the 2009 IAU report. + + + Current values: + + The quadratic prime meridian term is scaled by 1/36525**2: + + 8.864000000000000 ---> 6.6443009930565219E-09 + + \begindata + + BODY401_POLE_RA = ( 317.68 -0.108 0. ) + BODY401_POLE_DEC = ( 52.90 -0.061 0. ) + BODY401_PM = ( 35.06 1128.8445850 6.6443009930565219E-09 ) + + BODY401_LONG_AXIS = ( 0. ) + + BODY401_NUT_PREC_RA = ( 1.79 0. 0. 0. ) + BODY401_NUT_PREC_DEC = ( -1.08 0. 0. 0. ) + BODY401_NUT_PREC_PM = ( -1.42 -0.78 0. 0. ) + + + \begintext + + + Deimos + + Old values: + + Values are unchanged in the 2009 IAU report. + + New values: + + The Deimos prime meridian expression is: + + + 2 + W = 79.41 + 285.1618970 d - 0.520 T - 2.58 sin M + 3 + + + 0.19 cos M . + 3 + + + At the present time, the PCK kernel software (the routine + BODEUL in particular) cannot handle the cosine term directly, + but we can represent it as + + 0.19 sin M + 4 + + where + + M = 90.D0 - M + 4 3 + + Therefore, the nutation precession angle assignments for Phobos + and Deimos contain four coefficients rather than three. + + The quadratic prime meridian term is scaled by 1/36525**2: + + -0.5200000000000000 ---> -3.8978300049519307E-10 + + \begindata + + BODY402_POLE_RA = ( 316.65 -0.108 0. ) + BODY402_POLE_DEC = ( 53.52 -0.061 0. ) + BODY402_PM = ( 79.41 285.1618970 -3.897830D-10 ) + BODY402_LONG_AXIS = ( 0. ) + + BODY402_NUT_PREC_RA = ( 0. 0. 2.98 0. ) + BODY402_NUT_PREC_DEC = ( 0. 0. -1.78 0. ) + BODY402_NUT_PREC_PM = ( 0. 0. -2.58 0.19 ) + + \begintext + + + + +Satellites of Jupiter + + + Io + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY501_POLE_RA = ( 268.05 -0.009 0. ) + BODY501_POLE_DEC = ( 64.50 0.003 0. ) + BODY501_PM = ( 200.39 203.4889538 0. ) + BODY501_LONG_AXIS = ( 0. ) + + BODY501_NUT_PREC_RA = ( 0. 0. 0.094 0.024 ) + BODY501_NUT_PREC_DEC = ( 0. 0. 0.040 0.011 ) + BODY501_NUT_PREC_PM = ( 0. 0. -0.085 -0.022 ) + + \begintext + + + + Europa + + + Old values: + + Values are unchanged in the 2009 IAU report. + + + Current values: + + \begindata + + BODY502_POLE_RA = ( 268.08 -0.009 0. ) + BODY502_POLE_DEC = ( 64.51 0.003 0. ) + BODY502_PM = ( 36.022 101.3747235 0. ) + BODY502_LONG_AXIS = ( 0. ) + + BODY502_NUT_PREC_RA = ( 0. 0. 0. 1.086 0.060 0.015 0.009 ) + BODY502_NUT_PREC_DEC = ( 0. 0. 0. 0.468 0.026 0.007 0.002 ) + BODY502_NUT_PREC_PM = ( 0. 0. 0. -0.980 -0.054 -0.014 -0.008 ) + + \begintext + + + Ganymede + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY503_POLE_RA = ( 268.20 -0.009 0. ) + BODY503_POLE_DEC = ( 64.57 0.003 0. ) + BODY503_PM = ( 44.064 50.3176081 0. ) + BODY503_LONG_AXIS = ( 0. ) + + BODY503_NUT_PREC_RA = ( 0. 0. 0. -0.037 0.431 0.091 ) + BODY503_NUT_PREC_DEC = ( 0. 0. 0. -0.016 0.186 0.039 ) + BODY503_NUT_PREC_PM = ( 0. 0. 0. 0.033 -0.389 -0.082 ) + + \begintext + + + Callisto + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY504_POLE_RA = ( 268.72 -0.009 0. ) + BODY504_POLE_DEC = ( 64.83 0.003 0. ) + BODY504_PM = ( 259.51 21.5710715 0. ) + BODY504_LONG_AXIS = ( 0. ) + + BODY504_NUT_PREC_RA = ( 0. 0. 0. 0. -0.068 0.590 0. 0.010 ) + BODY504_NUT_PREC_DEC = ( 0. 0. 0. 0. -0.029 0.254 0. -0.004 ) + BODY504_NUT_PREC_PM = ( 0. 0. 0. 0. 0.061 -0.533 0. -0.009 ) + + \begintext + + + Amalthea + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY505_POLE_RA = ( 268.05 -0.009 0. ) + BODY505_POLE_DEC = ( 64.49 0.003 0. ) + BODY505_PM = ( 231.67 722.6314560 0. ) + BODY505_LONG_AXIS = ( 0. ) + + BODY505_NUT_PREC_RA = ( -0.84 0. 0. 0. 0. 0. 0. 0. 0.01 0. ) + BODY505_NUT_PREC_DEC = ( -0.36 0. 0. 0. 0. 0. 0. 0. 0. 0. ) + BODY505_NUT_PREC_PM = ( 0.76 0. 0. 0. 0. 0. 0. 0. -0.01 0. ) + + \begintext + + + Thebe + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY514_POLE_RA = ( 268.05 -0.009 0. ) + BODY514_POLE_DEC = ( 64.49 0.003 0. ) + BODY514_PM = ( 8.56 533.7004100 0. ) + BODY514_LONG_AXIS = ( 0. ) + + BODY514_NUT_PREC_RA = ( 0. -2.11 0. 0. 0. 0. 0. 0. 0. 0.04 ) + BODY514_NUT_PREC_DEC = ( 0. -0.91 0. 0. 0. 0. 0. 0. 0. 0.01 ) + BODY514_NUT_PREC_PM = ( 0. 1.91 0. 0. 0. 0. 0. 0. 0. -0.04 ) + + \begintext + + + Adrastea + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY515_POLE_RA = ( 268.05 -0.009 0. ) + BODY515_POLE_DEC = ( 64.49 0.003 0. ) + BODY515_PM = ( 33.29 1206.9986602 0. ) + BODY515_LONG_AXIS = ( 0. ) + + \begintext + + + Metis + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY516_POLE_RA = ( 268.05 -0.009 0. ) + BODY516_POLE_DEC = ( 64.49 0.003 0. ) + BODY516_PM = ( 346.09 1221.2547301 0. ) + BODY516_LONG_AXIS = ( 0. ) + + \begintext + + + +Satellites of Saturn + + + Mimas + + Old values: + + Values are from the 2006 IAU report. + + body601_pole_ra = ( 40.66 -0.036 0. ) + body601_pole_dec = ( 83.52 -0.004 0. ) + body601_pm = ( 337.46 381.9945550 0. ) + body601_long_axis = ( 0. ) + + body601_nut_prec_ra = ( 0. 0. 13.56 0. 0. 0. 0. 0. 0. ) + body601_nut_prec_dec = ( 0. 0. -1.53 0. 0. 0. 0. 0. 0. ) + body601_nut_prec_pm = ( 0. 0. -13.48 0. -44.85 0. 0. 0. 0. ) + + + Current values: + + \begindata + + BODY601_POLE_RA = ( 40.66 -0.036 0. ) + BODY601_POLE_DEC = ( 83.52 -0.004 0. ) + BODY601_PM = ( 333.46 381.9945550 0. ) + BODY601_LONG_AXIS = ( 0. ) + + BODY601_NUT_PREC_RA = ( 0. 0. 13.56 0. 0. 0. 0. 0. ) + BODY601_NUT_PREC_DEC = ( 0. 0. -1.53 0. 0. 0. 0. 0. ) + BODY601_NUT_PREC_PM = ( 0. 0. -13.48 0. -44.85 0. 0. 0. ) + + \begintext + + + Enceladus + + + Old values: + + Values are from the 2006 IAU report. + + body602_pole_ra = ( 40.66 -0.036 0. ) + body602_pole_dec = ( 83.52 -0.004 0. ) + body602_pm = ( 2.82 262.7318996 0. ) + body602_long_axis = ( 0. ) + + + Current values: + + \begindata + + BODY602_POLE_RA = ( 40.66 -0.036 0. ) + BODY602_POLE_DEC = ( 83.52 -0.004 0. ) + BODY602_PM = ( 6.32 262.7318996 0. ) + BODY602_LONG_AXIS = ( 0. ) + + \begintext + + + + Tethys + + + Old values: + + Values are from the 2006 IAU report. + + body603_pole_ra = ( 40.66 -0.036 0. ) + body603_pole_dec = ( 83.52 -0.004 0. ) + body603_pm = ( 10.45 190.6979085 0. ) + body603_long_axis = ( 0. ) + + body603_nut_prec_ra = ( 0. 0. 0. 9.66 0. 0. 0. 0. 0. ) + body603_nut_prec_dec = ( 0. 0. 0. -1.09 0. 0. 0. 0. 0. ) + body603_nut_prec_pm = ( 0. 0. 0. -9.60 2.23 0. 0. 0. 0. ) + + + Current values: + + \begindata + + BODY603_POLE_RA = ( 40.66 -0.036 0. ) + BODY603_POLE_DEC = ( 83.52 -0.004 0. ) + BODY603_PM = ( 8.95 190.6979085 0. ) + BODY603_LONG_AXIS = ( 0. ) + + BODY603_NUT_PREC_RA = ( 0. 0. 0. 9.66 0. 0. 0. 0. ) + BODY603_NUT_PREC_DEC = ( 0. 0. 0. -1.09 0. 0. 0. 0. ) + BODY603_NUT_PREC_PM = ( 0. 0. 0. -9.60 2.23 0. 0. 0. ) + + \begintext + + + Dione + + + Old values: + + Values are from the 2006 IAU report. + + body604_pole_ra = ( 40.66 -0.036 0. ) + body604_pole_dec = ( 83.52 -0.004 0. ) + body604_pm = ( 357.00 131.5349316 0. ) + body604_long_axis = ( 0. ) + + + Current values: + + \begindata + + BODY604_POLE_RA = ( 40.66 -0.036 0. ) + BODY604_POLE_DEC = ( 83.52 -0.004 0. ) + BODY604_PM = ( 357.6 131.5349316 0. ) + BODY604_LONG_AXIS = ( 0. ) + + \begintext + + + + Rhea + + + Old values: + + Values are from the 2009 IAU report. + + body605_pole_ra = ( 40.38 -0.036 0. ) + body605_pole_dec = ( 83.55 -0.004 0. ) + body605_pm = ( 235.16 79.6900478 0. ) + body605_long_axis = ( 0. ) + + body605_nut_prec_ra = ( 0. 0. 0. 0. 0. 3.10 0. 0. 0. ) + body605_nut_prec_dec = ( 0. 0. 0. 0. 0. -0.35 0. 0. 0. ) + body605_nut_prec_pm = ( 0. 0. 0. 0. 0. -3.08 0. 0. 0. ) + + + Current values: + + Data values are unchanged in the 2009 IAU report. However + the kernel variable contents have changed due to removal of + the angle S7. + + \begindata + + BODY605_POLE_RA = ( 40.38 -0.036 0. ) + BODY605_POLE_DEC = ( 83.55 -0.004 0. ) + BODY605_PM = ( 235.16 79.6900478 0. ) + BODY605_LONG_AXIS = ( 0. ) + + BODY605_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 3.10 0. 0. ) + BODY605_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. -0.35 0. 0. ) + BODY605_NUT_PREC_PM = ( 0. 0. 0. 0. 0. -3.08 0. 0. ) + + \begintext + + + + Titan + + + Old values: + + Values are from the 2006 IAU report. + + BODY606_POLE_RA = ( 36.41 -0.036 0. ) + BODY606_POLE_DEC = ( 83.94 -0.004 0. ) + BODY606_PM = ( 189.64 22.5769768 0. ) + BODY606_LONG_AXIS = ( 0. ) + + BODY606_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 0. 2.66 0. 0 ) + BODY606_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. -0.30 0. 0 ) + BODY606_NUT_PREC_PM = ( 0. 0. 0. 0. 0. 0. -2.64 0. 0 ) + + + Current values: + + Note removal of dependence on the nutation precession + angles. + + \begindata + + BODY606_POLE_RA = ( 39.4827 0. 0. ) + BODY606_POLE_DEC = ( 83.4279 0. 0. ) + BODY606_PM = ( 186.5855 22.5769768 0. ) + BODY606_LONG_AXIS = ( 0. ) + + BODY606_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 0. 0. 0 ) + BODY606_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. 0. 0 ) + BODY606_NUT_PREC_PM = ( 0. 0. 0. 0. 0. 0. 0. 0 ) + + \begintext + + + + Hyperion + + The IAU report does not give an orientation model for Hyperion. + Hyperion's rotation is in chaotic and is not predictable for + long periods. + + + Iapetus + + + Old values: + + Values are from the 2006 IAU report. + + body608_pole_ra = ( 318.16 -3.949 0. ) + body608_pole_dec = ( 75.03 -1.143 0. ) + body608_pm = ( 350.20 4.5379572 0. ) + body608_long_axis = ( 0. ) + + + Current values: + + \begindata + + BODY608_POLE_RA = ( 318.16 -3.949 0. ) + BODY608_POLE_DEC = ( 75.03 -1.143 0. ) + BODY608_PM = ( 355.2 4.5379572 0. ) + BODY608_LONG_AXIS = ( 0. ) + + \begintext + + + + Phoebe + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY609_POLE_RA = ( 356.90 0. 0. ) + BODY609_POLE_DEC = ( 77.80 0. 0. ) + BODY609_PM = ( 178.58 931.639 0. ) + BODY609_LONG_AXIS = ( 0. ) + + \begintext + + + Janus + + + Old values: + + Values are unchanged in the 2009 IAU report. + + + Current values: + + Data values are unchanged in the 2009 IAU report. However + the kernel variable contents have changed due to removal of + the angle S7. + + \begindata + + BODY610_POLE_RA = ( 40.58 -0.036 0. ) + BODY610_POLE_DEC = ( 83.52 -0.004 0. ) + BODY610_PM = ( 58.83 518.2359876 0. ) + BODY610_LONG_AXIS = ( 0. ) + + BODY610_NUT_PREC_RA = ( 0. -1.623 0. 0. 0. 0. 0. 0.023 ) + BODY610_NUT_PREC_DEC = ( 0. -0.183 0. 0. 0. 0. 0. 0.001 ) + BODY610_NUT_PREC_PM = ( 0. 1.613 0. 0. 0. 0. 0. -0.023 ) + + \begintext + + + + Epimetheus + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + Data values are unchanged in the 2009 IAU report. However + the kernel variable contents have changed due to removal of + the angle S7. + + \begindata + + BODY611_POLE_RA = ( 40.58 -0.036 0. ) + BODY611_POLE_DEC = ( 83.52 -0.004 0. ) + BODY611_PM = ( 293.87 518.4907239 0. ) + BODY611_LONG_AXIS = ( 0. ) + + BODY611_NUT_PREC_RA = ( -3.153 0. 0. 0. 0. 0. 0.086 0. ) + BODY611_NUT_PREC_DEC = ( -0.356 0. 0. 0. 0. 0. 0.005 0. ) + BODY611_NUT_PREC_PM = ( 3.133 0. 0. 0. 0. 0. -0.086 0. ) + + \begintext + + + + Helene + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY612_POLE_RA = ( 40.85 -0.036 0. ) + BODY612_POLE_DEC = ( 83.34 -0.004 0. ) + BODY612_PM = ( 245.12 131.6174056 0. ) + BODY612_LONG_AXIS = ( 0. ) + + \begintext + + + + Telesto + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY613_POLE_RA = ( 50.51 -0.036 0. ) + BODY613_POLE_DEC = ( 84.06 -0.004 0. ) + BODY613_PM = ( 56.88 190.6979332 0. ) + BODY613_LONG_AXIS = ( 0. ) + + \begintext + + + + Calypso + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY614_POLE_RA = ( 36.41 -0.036 0. ) + BODY614_POLE_DEC = ( 85.04 -0.004 0. ) + BODY614_PM = ( 153.51 190.6742373 0. ) + BODY614_LONG_AXIS = ( 0. ) + + \begintext + + + + Atlas + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY615_POLE_RA = ( 40.58 -0.036 0. ) + BODY615_POLE_DEC = ( 83.53 -0.004 0. ) + BODY615_PM = ( 137.88 598.3060000 0. ) + BODY615_LONG_AXIS = ( 0. ) + + \begintext + + + + Prometheus + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY616_POLE_RA = ( 40.58 -0.036 ) + BODY616_POLE_DEC = ( 83.53 -0.004 ) + BODY616_PM = ( 296.14 587.289000 ) + BODY616_LONG_AXIS = ( 0. ) + + \begintext + + + + Pandora + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY617_POLE_RA = ( 40.58 -0.036 0. ) + BODY617_POLE_DEC = ( 83.53 -0.004 0. ) + BODY617_PM = ( 162.92 572.7891000 0. ) + BODY617_LONG_AXIS = ( 0. ) + + \begintext + + + + Pan + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY618_POLE_RA = ( 40.6 -0.036 0. ) + BODY618_POLE_DEC = ( 83.5 -0.004 0. ) + BODY618_PM = ( 48.8 626.0440000 0. ) + BODY618_LONG_AXIS = ( 0. ) + + \begintext + + + + + +Satellites of Uranus + + + + Ariel + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY701_POLE_RA = ( 257.43 0. 0. ) + BODY701_POLE_DEC = ( -15.10 0. 0. ) + BODY701_PM = ( 156.22 -142.8356681 0. ) + BODY701_LONG_AXIS = ( 0. ) + + BODY701_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0.29 ) + + BODY701_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0.28 ) + + BODY701_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0.05 0.08 ) + \begintext + + + + Umbriel + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY702_POLE_RA = ( 257.43 0. 0. ) + BODY702_POLE_DEC = ( -15.10 0. 0. ) + BODY702_PM = ( 108.05 -86.8688923 0. ) + BODY702_LONG_AXIS = ( 0. ) + + BODY702_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0.21 ) + + BODY702_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0.20 ) + + BODY702_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. -0.09 0. 0.06 ) + + \begintext + + + + Titania + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY703_POLE_RA = ( 257.43 0. 0. ) + BODY703_POLE_DEC = ( -15.10 0. 0. ) + BODY703_PM = ( 77.74 -41.3514316 0. ) + BODY703_LONG_AXIS = ( 0. ) + + BODY703_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.29 ) + + BODY703_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.28 ) + + BODY703_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0. 0. 0. 0. 0.08 ) + \begintext + + + + Oberon + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY704_POLE_RA = ( 257.43 0. 0. ) + BODY704_POLE_DEC = ( -15.10 0. 0. ) + BODY704_PM = ( 6.77 -26.7394932 0. ) + BODY704_LONG_AXIS = ( 0. ) + + + BODY704_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0.16 ) + + BODY704_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0.16 ) + + BODY704_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. 0.04 ) + \begintext + + + + Miranda + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY705_POLE_RA = ( 257.43 0. 0. ) + BODY705_POLE_DEC = ( -15.08 0. 0. ) + BODY705_PM = ( 30.70 -254.6906892 0. ) + BODY705_LONG_AXIS = ( 0. ) + + BODY705_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 4.41 0. 0. 0. 0. + 0. -0.04 0. ) + + BODY705_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 4.25 0. 0. 0. 0. + 0. -0.02 0. ) + + BODY705_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 1.15 -1.27 0. 0. 0. + 0. -0.09 0.15 ) + \begintext + + + + Cordelia + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY706_POLE_RA = ( 257.31 0. 0. ) + BODY706_POLE_DEC = ( -15.18 0. 0. ) + BODY706_PM = ( 127.69 -1074.5205730 0. ) + BODY706_LONG_AXIS = ( 0. ) + + BODY706_NUT_PREC_RA = ( -0.15 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY706_NUT_PREC_DEC = ( 0.14 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY706_NUT_PREC_PM = ( -0.04 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Ophelia + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY707_POLE_RA = ( 257.31 0. 0. ) + BODY707_POLE_DEC = ( -15.18 0. 0. ) + BODY707_PM = ( 130.35 -956.4068150 0. ) + BODY707_LONG_AXIS = ( 0. ) + + BODY707_NUT_PREC_RA = ( 0. -0.09 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY707_NUT_PREC_DEC = ( 0. 0.09 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY707_NUT_PREC_PM = ( 0. -0.03 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Bianca + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY708_POLE_RA = ( 257.31 0. 0. ) + BODY708_POLE_DEC = ( -15.18 0. 0. ) + BODY708_PM = ( 105.46 -828.3914760 0. ) + BODY708_LONG_AXIS = ( 0. ) + + BODY708_NUT_PREC_RA = ( 0. 0. -0.16 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY708_NUT_PREC_DEC = ( 0. 0. 0.16 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY708_NUT_PREC_PM = ( 0. 0. -0.04 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Cressida + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + + BODY709_POLE_RA = ( 257.31 0. 0. ) + BODY709_POLE_DEC = ( -15.18 0. 0. ) + BODY709_PM = ( 59.16 -776.5816320 0. ) + BODY709_LONG_AXIS = ( 0. ) + + + BODY709_NUT_PREC_RA = ( 0. 0. 0. -0.04 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + + BODY709_NUT_PREC_DEC = ( 0. 0. 0. 0.04 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + + BODY709_NUT_PREC_PM = ( 0. 0. 0. -0.01 0. + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + + \begintext + + + + Desdemona + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY710_POLE_RA = ( 257.31 0. 0. ) + BODY710_POLE_DEC = ( -15.18 0. 0. ) + BODY710_PM = ( 95.08 -760.0531690 0. ) + BODY710_LONG_AXIS = ( 0. ) + + BODY710_NUT_PREC_RA = ( 0. 0. 0. 0. -0.17 + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY710_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.16 + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY710_NUT_PREC_PM = ( 0. 0. 0. 0. -0.04 + 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Juliet + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY711_POLE_RA = ( 257.31 0. 0. ) + BODY711_POLE_DEC = ( -15.18 0. 0. ) + BODY711_PM = ( 302.56 -730.1253660 0. ) + BODY711_LONG_AXIS = ( 0. ) + + BODY711_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + -0.06 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY711_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0.06 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY711_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + -0.02 0. 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Portia + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY712_POLE_RA = ( 257.31 0. 0. ) + BODY712_POLE_DEC = ( -15.18 0. 0. ) + BODY712_PM = ( 25.03 -701.4865870 0. ) + BODY712_LONG_AXIS = ( 0. ) + + BODY712_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. -0.09 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY712_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0.09 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY712_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. -0.02 0. 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Rosalind + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY713_POLE_RA = ( 257.31 0. 0. ) + BODY713_POLE_DEC = ( -15.18 0. 0. ) + BODY713_PM = ( 314.90 -644.6311260 0. ) + BODY713_LONG_AXIS = ( 0. ) + + BODY713_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. -0.29 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY713_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0.28 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY713_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. -0.08 0. 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + Belinda + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY714_POLE_RA = ( 257.31 0. 0. ) + BODY714_POLE_DEC = ( -15.18 0. 0. ) + BODY714_PM = ( 297.46 -577.3628170 0. ) + BODY714_LONG_AXIS = ( 0. ) + + BODY714_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. -0.03 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY714_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0.03 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY714_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. -0.01 0. + 0. 0. 0. 0. 0. + 0. 0. 0. ) + \begintext + + + + Puck + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY715_POLE_RA = ( 257.31 0. 0. ) + BODY715_POLE_DEC = ( -15.18 0. 0. ) + BODY715_PM = ( 91.24 -472.5450690 0. ) + BODY715_LONG_AXIS = ( 0. ) + + BODY715_NUT_PREC_RA = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. -0.33 + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY715_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. 0.31 + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + BODY715_NUT_PREC_PM = ( 0. 0. 0. 0. 0. + 0. 0. 0. 0. -0.09 + 0. 0. 0. 0. 0. + 0. 0. 0. ) + + \begintext + + + + +Satellites of Neptune + + + Triton + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY801_POLE_RA = ( 299.36 0. 0. ) + BODY801_POLE_DEC = ( 41.17 0. 0. ) + BODY801_PM = ( 296.53 -61.2572637 0. ) + BODY801_LONG_AXIS = ( 0. ) + + + BODY801_NUT_PREC_RA = ( 0. 0. 0. 0. + 0. 0. 0. -32.35 + 0. -6.28 -2.08 -0.74 + -0.28 -0.11 -0.07 -0.02 + -0.01 ) + + + BODY801_NUT_PREC_DEC = ( 0. 0. 0. 0. + 0. 0. 0. 22.55 + 0. 2.10 0.55 0.16 + 0.05 0.02 0.01 0. + 0. ) + + + BODY801_NUT_PREC_PM = ( 0. 0. 0. 0. + 0. 0. 0. 22.25 + 0. 6.73 2.05 0.74 + 0.28 0.11 0.05 0.02 + 0.01 ) + + \begintext + + + + + Nereid + + Old values: + + Values are from the 1988 IAU report [10]. Note that this + rotation model pre-dated the 1989 Voyager 2 Neptune + encounter. + + + body802_pole_ra = ( 273.48 0. 0. ) + body802_pole_dec = ( 67.22 0. 0. ) + body802_pm = ( 237.22 0.9996465 0. ) + body802_long_axis = ( 0. ) + + + The report seems to have a typo: in the nut_prec_ra expression, + where the report gives -0.51 sin 3N3, we use -0.51 3N2. + + body802_nut_prec_ra = ( 0. -17.81 + 0. 0. 0. 0. + 0. 0. 0. + 2.56 -0.51 0.11 -0.03 ) + + body802_nut_prec_dec = ( 0. -6.67 + 0. 0. 0. 0. + 0. 0. 0. + 0.47 -0.07 0.01 ) + + body802_nut_prec_pm = ( 0. 16.48 + 0. 0. 0. 0. + 0. 0. 0. + -2.57 0.51 -0.11 0.02 ) + + + + Current values: + + The 2009 report [1] states that values for Nereid are not + given because Nereid is not in synchronous rotation with Neptune + (notes following table 2). + + + + Naiad + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY803_POLE_RA = ( 299.36 0. 0. ) + BODY803_POLE_DEC = ( 43.36 0. 0. ) + BODY803_PM = ( 254.06 +1222.8441209 0. ) + BODY803_LONG_AXIS = ( 0. ) + + + BODY803_NUT_PREC_RA = ( 0.70 -6.49 0. 0. + 0. 0. 0. 0. + 0.25 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY803_NUT_PREC_DEC = ( -0.51 -4.75 0. 0. + 0. 0. 0. 0. + 0.09 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY803_NUT_PREC_PM = ( -0.48 4.40 0. 0. + 0. 0. 0. 0. + -0.27 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + \begintext + + + + + Thalassa + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY804_POLE_RA = ( 299.36 0. 0. ) + BODY804_POLE_DEC = ( 43.45 0. 0. ) + BODY804_PM = ( 102.06 1155.7555612 0. ) + BODY804_LONG_AXIS = ( 0. ) + + + BODY804_NUT_PREC_RA = ( 0.70 0. -0.28 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + + BODY804_NUT_PREC_DEC = ( -0.51 0. -0.21 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY804_NUT_PREC_PM = ( -0.48 0. 0.19 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + \begintext + + + + Despina + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY805_POLE_RA = ( 299.36 0. 0. ) + BODY805_POLE_DEC = ( 43.45 0. 0. ) + BODY805_PM = ( 306.51 +1075.7341562 0. ) + BODY805_LONG_AXIS = ( 0. ) + + + BODY805_NUT_PREC_RA = ( 0.70 0. 0. -0.09 + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY805_NUT_PREC_DEC = ( -0.51 0. 0. -0.07 + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY805_NUT_PREC_PM = ( -0.49 0. 0. 0.06 + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + \begintext + + + + Galatea + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY806_POLE_RA = ( 299.36 0. 0. ) + BODY806_POLE_DEC = ( 43.43 0. 0. ) + BODY806_PM = ( 258.09 839.6597686 0. ) + BODY806_LONG_AXIS = ( 0. ) + + + BODY806_NUT_PREC_RA = ( 0.70 0. 0. 0. + -0.07 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY806_NUT_PREC_DEC = ( -0.51 0. 0. 0. + -0.05 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY806_NUT_PREC_PM = ( -0.48 0. 0. 0. + 0.05 0. 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + \begintext + + + Larissa + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY807_POLE_RA = ( 299.36 0. 0. ) + BODY807_POLE_DEC = ( 43.41 0. 0. ) + BODY807_PM = ( 179.41 +649.0534470 0. ) + BODY807_LONG_AXIS = ( 0. ) + + + BODY807_NUT_PREC_RA = ( 0.70 0. 0. 0. + 0. -0.27 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY807_NUT_PREC_DEC = ( -0.51 0. 0. 0. + 0. -0.20 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY807_NUT_PREC_PM = ( -0.48 0. 0. 0. + 0. 0.19 0. 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + \begintext + + + + Proteus + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY808_POLE_RA = ( 299.27 0. 0. ) + BODY808_POLE_DEC = ( 42.91 0. 0. ) + BODY808_PM = ( 93.38 +320.7654228 0. ) + BODY808_LONG_AXIS = ( 0. ) + + + BODY808_NUT_PREC_RA = ( 0.70 0. 0. 0. + 0. 0. -0.05 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY808_NUT_PREC_DEC = ( -0.51 0. 0. 0. + 0. 0. -0.04 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + BODY808_NUT_PREC_PM = ( -0.48 0. 0. 0. + 0. 0. 0.04 0. + 0. 0. 0. 0. + 0. 0. 0. 0. + 0. ) + + \begintext + + + + + +Satellites of Pluto + + Charon + + Old values: + + Values are from the 2006 IAU report. + + body901_pole_ra = ( 312.993 0. 0. ) + body901_pole_dec = ( 6.163 0. 0. ) + body901_pm = ( 57.305 -56.3625225 0. ) + body901_long_axis = ( 0. ) + + + Current values: + + Due to the new definition of planetocentric coordinates + for small bodies, and to the reclassification of Pluto + as a dwarf planet, Charon's north pole direction has been + inverted. + + The PM constant W0 is from [2]. + + \begindata + + BODY901_POLE_RA = ( 132.993 0. 0. ) + BODY901_POLE_DEC = ( -6.163 0. 0. ) + BODY901_PM = ( 122.695 56.3625225 0. ) + BODY901_LONG_AXIS = ( 0. ) + + \begintext + + + +Orientation constants for Selected Comets and Asteroids +-------------------------------------------------------- + + + +Ceres + + Current values: + + \begindata + + BODY2000001_POLE_RA = ( 291. 0. 0. ) + BODY2000001_POLE_DEC = ( 59. 0. 0. ) + BODY2000001_PM = ( 170.90 952.1532 0. ) + BODY2000001_LONG_AXIS = ( 0. ) + + \begintext + + + +Pallas + + Current values: + + \begindata + + BODY2000002_POLE_RA = ( 33. 0. 0. ) + BODY2000002_POLE_DEC = ( -3. 0. 0. ) + BODY2000002_PM = ( 38. 1105.8036 0. ) + BODY2000002_LONG_AXIS = ( 0. ) + + \begintext + + + +Vesta + + Old values: + + Values are from the 2009 IAU report. + + body2000004_pole_ra = ( 301. 0. 0. ) + body2000004_pole_dec = ( 41. 0. 0. ) + body2000004_pm = ( 292. 1617.332776 0. ) + body2000004_long_axis = ( 0. ) + + Current values: + + \begindata + + BODY2000004_POLE_RA = ( 305.8 0. 0. ) + BODY2000004_POLE_DEC = ( 41.4 0. 0. ) + BODY2000004_PM = ( 292. 1617.332776 0. ) + BODY2000004_LONG_AXIS = ( 0. ) + + \begintext + + + +Lutetia + + Current values: + + \begindata + + BODY2000021_POLE_RA = ( 52. 0. 0. ) + BODY2000021_POLE_DEC = ( 12. 0. 0. ) + BODY2000021_PM = ( 94. 1057.7515 0. ) + BODY2000021_LONG_AXIS = ( 0. ) + + \begintext + + + +Ida + + Old values: + + BODY2431010_POLE_RA = ( 168.76 0. 0. ) + BODY2431010_POLE_DEC = ( -2.88 0. 0. ) + BODY2431010_PM = ( 265.95 +1864.6280070 0. ) + BODY2431010_LONG_AXIS = ( 0. ) + + Current values: + + The PM constant W0 is from [2]. + + \begindata + + BODY2431010_POLE_RA = ( 168.76 0. 0. ) + BODY2431010_POLE_DEC = ( -2.88 0. 0. ) + BODY2431010_PM = ( 274.05 +1864.6280070 0. ) + BODY2431010_LONG_AXIS = ( 0. ) + + \begintext + + + +Eros + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY2000433_POLE_RA = ( 11.35 0. 0. ) + BODY2000433_POLE_DEC = ( 17.22 0. 0. ) + BODY2000433_PM = ( 326.07 1639.38864745 0. ) + BODY2000433_LONG_AXIS = ( 0. ) + + \begintext + + + +Davida + + Current values: + + \begindata + + BODY2000511_POLE_RA = ( 297. 0. 0. ) + BODY2000511_POLE_DEC = ( 5. 0. 0. ) + BODY2000511_PM = ( 268.1 1684.4193549 0. ) + BODY2000511_LONG_AXIS = ( 0. ) + + \begintext + + + +Gaspra + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY9511010_POLE_RA = ( 9.47 0. 0. ) + BODY9511010_POLE_DEC = ( 26.70 0. 0. ) + BODY9511010_PM = ( 83.67 1226.9114850 0. ) + BODY9511010_LONG_AXIS = ( 0. ) + + \begintext + + + +Steins + + Current values: + + \begindata + + BODY2002867_POLE_RA = ( 90. 0. 0. ) + BODY2002867_POLE_DEC = ( -62. 0. 0. ) + BODY2002867_PM = ( 93.94 1428.852332 0. ) + BODY2002867_LONG_AXIS = ( 0. ) + + \begintext + + + +Itokawa + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY2025143_POLE_RA = ( 90.53 0. 0. ) + BODY2025143_POLE_DEC = ( -66.30 0. 0. ) + BODY2025143_PM = ( 000.0 712.143 0. ) + BODY2025143_LONG_AXIS = ( 0. ) + + \begintext + + + +9P/Tempel 1 + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY1000093_POLE_RA = ( 294. 0. 0. ) + BODY1000093_POLE_DEC = ( 73. 0. 0. ) + BODY1000093_PM = ( 252.63 212.064 0. ) + BODY1000093_LONG_AXIS = ( 0. ) + + \begintext + + + +19P/Borrelly + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY1000005_POLE_RA = ( 218.5 0. 0. ) + BODY1000005_POLE_DEC = ( -12.5 0. 0. ) + BODY1000005_PM = ( 000. 390.0 0. ) + BODY1000005_LONG_AXIS = ( 0. ) + + \begintext + + + + + + + +Radii of Sun and Planets +-------------------------------------------------------- + + +Sun + + \begindata + + BODY10_RADII = ( 696000. 696000. 696000. ) + + \begintext + + +Mercury + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY199_RADII = ( 2439.7 2439.7 2439.7 ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY299_RADII = ( 6051.8 6051.8 6051.8 ) + + \begintext + + +Earth + + Old values: + + Values are from the 2006 IAU report. + + body399_radii = ( 6378.14 6378.14 6356.75 ) + + + Current values: + + + \begindata + + BODY399_RADII = ( 6378.1366 6378.1366 6356.7519 ) + + \begintext + + +Mars + + + Old values: + + Values are from the 2006 IAU report. + + body499_radii = ( 3397. 3397. 3375. ) + + + Current values: + + The 2009 IAU report gives separate values for the north and + south polar radii: + + north: 3373.19 + south: 3379.21 + + The report provides the average of these values as well, + which we use as the polar radius for the triaxial model. + + \begindata + + BODY499_RADII = ( 3396.19 3396.19 3376.20 ) + + \begintext + + + +Jupiter + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY599_RADII = ( 71492 71492 66854 ) + + \begintext + + + +Saturn + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY699_RADII = ( 60268 60268 54364 ) + + \begintext + + + +Uranus + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY799_RADII = ( 25559 25559 24973 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + (Values are for the 1 bar pressure level.) + + \begindata + + BODY899_RADII = ( 24764 24764 24341 ) + + \begintext + + + +Radii of the Dwarf Planet Pluto +-------------------------------------------------------- + + +Pluto + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY999_RADII = ( 1195 1195 1195 ) + + \begintext + + + + +Radii of Satellites +-------------------------------------------------------- + + +Moon + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY301_RADII = ( 1737.4 1737.4 1737.4 ) + + \begintext + + + +Satellites of Mars + + Old values: + + Values are from the 2006 IAU report. + + body401_radii = ( 13.4 11.2 9.2 ) + body402_radii = ( 7.5 6.1 5.2 ) + + Current values: + + \begindata + + BODY401_RADII = ( 13.0 11.4 9.1 ) + BODY402_RADII = ( 7.8 6.0 5.1 ) + + \begintext + + + +Satellites of Jupiter + + Old values: + + Values are unchanged in the 2009 IAU report, + except for those of Europa, Ganymede, Callisto, + and Metis. For Metis, now all three radii are + provided. + + body502_radii = ( 1564.13 1561.23 1560.93 ) + body503_radii = ( 2632.4 2632.29 2632.35 ) + body504_radii = ( 2409.4 2409.2 2409.3 ) + + The value for the second radius for body 516 is not given in + 2003 IAU report. The values given are: + + body516_radii = ( 30 --- 20 ) + + For use within the SPICE system, we use only the mean radius. + + body516_radii = ( 21.5 21.5 21.5 ) + + + + + Current values: + + Note that for Ganymede and Callisto only mean radii + are provided. + + \begindata + + BODY501_RADII = ( 1829.4 1819.4 1815.7 ) + BODY502_RADII = ( 1562.6 1560.3 1559.5 ) + BODY503_RADII = ( 2631.2 2631.2 2631.2 ) + BODY504_RADII = ( 2410.3 2410.3 2410.3 ) + BODY505_RADII = ( 125 73 64 ) + + \begintext + + Only mean radii are available in the 2003 IAU report for bodies + 506-513. + + \begindata + + BODY506_RADII = ( 85 85 85 ) + BODY507_RADII = ( 40 40 40 ) + BODY508_RADII = ( 18 18 18 ) + BODY509_RADII = ( 14 14 14 ) + BODY510_RADII = ( 12 12 12 ) + BODY511_RADII = ( 15 15 15 ) + BODY512_RADII = ( 10 10 10 ) + BODY513_RADII = ( 5 5 5 ) + BODY514_RADII = ( 58 49 42 ) + BODY515_RADII = ( 10 8 7 ) + BODY516_RADII = ( 30 20 17 ) + + \begintext + + + +Satellites of Saturn + + + Old values: + + Values are from the 2006 IAU report. + + body601_radii = ( 207.4 196.8 190.6 ) + body602_radii = ( 256.6 251.4 248.3 ) + body603_radii = ( 540.4 531.1 527.5 ) + body604_radii = ( 563.8 561.0 560.3 ) + body605_radii = ( 767.2 762.5 763.1 ) + body606_radii = ( 2575 2575 2575 ) + body607_radii = ( 164 130 107 ) + body608_radii = ( 747.4 747.4 712.4 ) + body609_radii = ( 108.6 107.7 101.5 ) + body610_radii = ( 97.0 95.0 77.0 ) + body611_radii = ( 69.0 55.0 55.0 ) + + + Only the first equatorial radius for Helene (body 612) is given in the + 2006 IAU report: + + body612_radii = ( 17.5 --- --- ) + + The mean radius is 16km; we use this radius for all three axes, as + we do for the satellites for which only the mean radius is available. + + body612_radii = ( 17.5 17.5 17.5 ) + body613_radii = ( 15 12.5 7.5 ) + body614_radii = ( 15.0 8.0 8.0 ) + body615_radii = ( 18.5 17.2 13.5 ) + body616_radii = ( 74.0 50.0 34.0 ) + body617_radii = ( 55.0 44.0 31.0 ) + + For Pan, only a mean radius is given in the 2006 report. + + body618_radii = ( 10 10 10 ) + + + + Current values: + + \begindata + + BODY601_RADII = ( 207.8 196.7 190.6 ) + BODY602_RADII = ( 256.6 251.4 248.3 ) + BODY603_RADII = ( 538.4 528.3 526.3 ) + BODY604_RADII = ( 563.4 561.3 559.6 ) + BODY605_RADII = ( 765.0 763.1 762.4 ) + BODY606_RADII = ( 2575.15 2574.78 2574.47 ) + BODY607_RADII = ( 180.1 133.0 102.7 ) + BODY608_RADII = ( 745.7 745.7 712.1 ) + BODY609_RADII = ( 109.4 108.5 101.8 ) + BODY610_RADII = ( 101.5 92.5 76.3 ) + BODY611_RADII = ( 64.9 57.0 53.1 ) + BODY612_RADII = ( 21.7 19.1 13.0 ) + BODY613_RADII = ( 16.3 11.8 10.0 ) + BODY614_RADII = ( 15.1 11.5 7.0 ) + BODY615_RADII = ( 20.4 17.7 9.4 ) + BODY616_RADII = ( 67.8 39.7 29.7 ) + BODY617_RADII = ( 52.0 40.5 32.0 ) + BODY618_RADII = ( 17.2 15.7 10.4 ) + + BODY632_RADII = ( 1.6 1.6 1.6 ) + BODY633_RADII = ( 2.9 2.8 2.0 ) + BODY634_RADII = ( 1.5 1.2 1.0 ) + BODY635_RADII = ( 4.3 4.1 3.2 ) + BODY649_RADII = ( 1 1 1 ) + + \begintext + + + +Satellites of Uranus + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY701_RADII = ( 581.1 577.9 577.7 ) + BODY702_RADII = ( 584.7 584.7 584.7 ) + BODY703_RADII = ( 788.9 788.9 788.9 ) + BODY704_RADII = ( 761.4 761.4 761.4 ) + BODY705_RADII = ( 240.4 234.2 232.9 ) + + \begintext + + The 2000 report gives only mean radii for satellites 706--715. + + \begindata + + BODY706_RADII = ( 13 13 13 ) + BODY707_RADII = ( 15 15 15 ) + BODY708_RADII = ( 21 21 21 ) + BODY709_RADII = ( 31 31 31 ) + BODY710_RADII = ( 27 27 27 ) + BODY711_RADII = ( 42 42 42 ) + BODY712_RADII = ( 54 54 54 ) + BODY713_RADII = ( 27 27 27 ) + BODY714_RADII = ( 33 33 33 ) + BODY715_RADII = ( 77 77 77 ) + + \begintext + + + + +Satellites of Neptune + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + The 2009 report gives mean radii only for bodies 801-806. + + \begindata + + BODY801_RADII = ( 1352.6 1352.6 1352.6 ) + BODY802_RADII = ( 170 170 170 ) + BODY803_RADII = ( 29 29 29 ) + BODY804_RADII = ( 40 40 40 ) + BODY805_RADII = ( 74 74 74 ) + BODY806_RADII = ( 79 79 79 ) + + \begintext + + The second equatorial radius for Larissa is not given in the 2009 + report. The available values are: + + BODY807_RADII = ( 104 --- 89 ) + + For use within the SPICE system, we use only the mean radius. + + \begindata + + BODY807_RADII = ( 96 96 96 ) + BODY808_RADII = ( 218 208 201 ) + + \begintext + + + + +Satellites of Pluto + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY901_RADII = ( 605 605 605 ) + + \begintext + + + +Radii for Selected Comets and Asteroids +-------------------------------------------------------- + + + + + +Ceres + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2000001_RADII = ( 487.3 487.3 454.7 ) + + \begintext + + + +Vesta + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2000004_RADII = ( 289. 280. 229. ) + + \begintext + + + +Lutetia + + + Current values: + + + \begindata + + BODY2000021_RADII = ( 62.0 50.5 46.5 ) + + \begintext + + + +Ida + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2431010_RADII = ( 26.8 12.0 7.6 ) + + \begintext + + + +Mathilde + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2000253_RADII = ( 33. 24. 23. ) + + \begintext + + + +Eros + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2000433_RADII = ( 17.0 5.5 5.5 ) + + \begintext + + + +Davida + + + Current values: + + + \begindata + + BODY2000511_RADII = ( 180. 147. 127. ) + + \begintext + + + +Gaspra + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY9511010_RADII = ( 9.1 5.2 4.4 ) + + \begintext + + + +Steins + + + Current values: + + + \begindata + + BODY2002867_RADII = ( 3.24 2.73 2.04 ) + + \begintext + + + +Toutatis + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2004179_RADII = ( 2.13 1.015 0.85 ) + + \begintext + + + +Itokawa + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + + \begindata + + BODY2025143_RADII = ( 0.535 0.294 0.209 ) + + \begintext + + +Kleopatra + + + Old values: + + Values are from the 2003 report. + + + body2000216_radii = ( 108.5 47 40.5 ) + + + Current values: + + + No values are provided in the 2009 report. + + + + + +Halley + + + Old values: + + Values are unchanged in the 2009 IAU report. + + Current values: + + \begindata + + BODY1000036_RADII = ( 8.0 4.0 4.0 ) + + \begintext + + + +9P/Tempel 1 + + + Old values: + + The effective radius is unchanged in the 2009 IAU report. + + Current values: + + + The value in the data assignment below is the + "effective radius." + + According to [1]: + + The maximum and minimum radii are not properly + the values of the principal semi-axes, they + are half the maximum and minimum values of the + diameter. Due to the large deviations from a + simple ellipsoid, they may not correspond with + measurements along the principal axes, or be + orthogonal to each other. + + \begindata + + BODY1000093_RADII = ( 3.0 3.0 3.0 ) + + \begintext + + +19P/Borrelly + + + Old values: + + Values are unchanged in the 2009 report. + + Current values: + + + The value in the data assignment below is the + "effective radius." + + The first principal axis length is + + 3.5 km + + The lengths of the other semi-axes are not provided + by [1]. + + \begindata + + BODY1000005_RADII = ( 4.22 4.22 4.22 ) + + \begintext + + + +81P/Wild 2 + + + Old values: + + Values are unchanged in the 2009 report. + + Current values: + + + \begindata + + BODY1000107_RADII = ( 2.7 1.9 1.5 ) + + \begintext + + + +=========================================================================== +End of file pck00010.tpc +=========================================================================== + + + diff --git a/tests/pytests/test_juno_drivers.py b/tests/pytests/test_juno_drivers.py new file mode 100644 index 0000000000000000000000000000000000000000..e2700ee11769bb8b82e96688446a2cf88b61ba9d --- /dev/null +++ b/tests/pytests/test_juno_drivers.py @@ -0,0 +1,154 @@ +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