diff --git a/ale/drivers/viking_drivers.py b/ale/drivers/viking_drivers.py new file mode 100644 index 0000000000000000000000000000000000000000..74c2eb4926c8ec07f7b81e8a8c9b29d7b4e84162 --- /dev/null +++ b/ale/drivers/viking_drivers.py @@ -0,0 +1,82 @@ +import spiceypy as spice + +import ale +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 VikingIsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, Driver): + + @property + def spacecraft_name(self): + """ + Overridden to work with spice calls. + + Returns + ------- + : str + Name of the spacecraft. + """ + name_lookup = { + 'VIKING_ORBITER_1': 'VIKING ORBITER 1', + 'VIKING_ORBITER_2': 'VIKING ORBITER 2' + } + + return name_lookup[super().spacecraft_name] + + @property + def alt_ikid(self): + """ + Viking Orbiter 1 & 2 each have an alternate naif id code as defined in the + SCLK kernels. + Expects spacecraft name to be defined. + Returns -27999 for vo1 and -30999 for vo2 + + Returns + ------- + : integer + Alternate Naif Integer ID code for the instrument + """ + + alt_id_lookup = { + 'VIKING ORBITER 1': -27999, + 'VIKING ORBITER 2':-30999 + } + + return alt_id_lookup[self.spacecraft_name] + + @property + def ikid(self): + """ + Overridden to grab the ikid from the Isis Cube since there is no way to + obtain this value with a spice bods2c call. + + Returns + ------- + : integer + Naif Integer ID code for the instrument + """ + return self.label['IsisCube']['Kernels']['NaifFrameCode'] + + @property + def ephemeris_start_time(self): + """ + Overridden to use the alternate instrument ID. Also computes an offset to match + what is being done in ISIS code. + Expects spacecraft_clock_start_count to be defined. + + Returns + ------- + : float + ephemeris start time of the image + """ + ephemeris_start_time = spice.scs2e(self.alt_ikid, str(self.spacecraft_clock_start_count)) + + if self.exposure_duration <= .420: + offset1 = 7.0 / 8.0 * 4.48 + else: + offset1 = 3.0 / 8.0 * 4.48 + offset2 = 1.0 / 64.0 * 4.48 + + return ephemeris_start_time + offset1 + offset2 diff --git a/tests/pytests/data/f004a47/f004a47_0.xsp b/tests/pytests/data/f004a47/f004a47_0.xsp new file mode 100644 index 0000000000000000000000000000000000000000..882f7c9465824320c9ad97aef2301797400c4a38 --- /dev/null +++ b/tests/pytests/data/f004a47/f004a47_0.xsp @@ -0,0 +1,634 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/SPK ' +'2' +'6' +'SPKMERGE ' +BEGIN_ARRAY 1 433 +'21jun76 ' +'-2C3F00B654EA7E^8' +'-2C3EF5A98E0114^8' +'-1B' +'4' +'E' +'1' +433 +'-2C3EFCFDC592F2^8' +'3C4F1710BE^2' +'789E2E217C^2' +'B4ED45323A^2' +'F13C5C42F8^2' +'169DA8A6474^3' +'1E278B885F^3' +'25B16E6A76C^3' +'2D3B514C8E8^3' +'34C5342EA64^3' +'3C4F1710BE^3' +'43D8F9F2D5C^3' +'4B62DCD4ED8^3' +'52ECBFB7054^3' +'5A76A2991D^3' +'6200857B34C^3' +'10BCBCA30B7538^4' +'-10612403420B55^1' +'E054861665CEC^3' +'50C13524B04074^0' +'-46074BEBB6F31^3' +'36EF5DBE27BB6E^1' +'-40F7BDAC3C588C^-2' +'-1ABD0283F9423A^-3' +'EFF26725BB32D^-5' +'46BC635DCBE94^-5' +'797354674D02A4^-6' +'37EDC4C6B38BD8^-7' +'-3528B6308C421^-7' +'-15C30F0B44A0A^-7' +'-53B4796810ED0C^-8' +'-7D3A9124982EF^-9' +'541C23FB70C62^-9' +'4276F0670E84C8^-9' +'1E2817A9A2AA9A^-9' +'A0BE300F5CBA3^-A' +'288F14^-A' +'-3672CF014F4104^-2' +'-26DC7C535ABE02^-3' +'-8870B7404DCD18^-5' +'305157AB11B2CA^-5' +'88FDC5D6243C58^-6' +'DF86CB664CE588^-7' +'-E3F297D4540798^-8' +'-11063E453B790E^-7' +'-61D7509490CD8^-8' +'-15F15A2E85A64^-8' +'-E138E630F9A4C^-A' +'2559ACE74466D4^-9' +'19EF989CF599C1^-9' +'BE13A4E22885F^-A' +'49368A^-A' +'10FEDF6BE84E2A^-2' +'-259007C56F14E6^-3' +'-3D3BD89760CBC6^-4' +'-309B3AD09B544E^-5' +'3F4E5E8DCD415E^-6' +'1D1945D151F052^-6' +'60B96E0A4181C8^-7' +'92F9167343B8E^-8' +'-3400B02A9D49BA^-8' +'-2702D10D70B706^-8' +'-F530033295FD2^-9' +'-40A7BB53D0816^-9' +'-6491FC0A6BC3A^-A' +'50C6FE4C5EAAA4^-A' +'3C97CB^-A' +'F^1' +'E^1' +'E^1' +'E^1' +'-2C3EF9EDC16718^8' +'3C4F1710BE^2' +'789E2E217C^2' +'B4ED45323A^2' +'F13C5C42F8^2' +'12D8B7353B6^3' +'169DA8A6474^3' +'1A629A17532^3' +'1E278B885F^3' +'21EC7CF96AE^3' +'25B16E6A76C^3' +'29765FDB82A^3' +'2D3B514C8E8^3' +'310042BD9A6^3' +'34C5342EA64^3' +'388A259FB22^3' +'C5144B209E4B2^3' +'-1E06A2D0A58123^1' +'DCDD70D07B70F8^3' +'-82597418BF2D5^0' +'62FD91F2748924^3' +'35BD7FB87362DE^1' +'-47234A9E466AF^-2' +'125407A7874D5^-3' +'567D2CB6F0FBD^-4' +'2C058509857048^-5' +'-12AE60854C871F^-5' +'-351007047DD8EA^-6' +'2AB9E64E51F1BC^-7' +'2F1425DEF90AE6^-7' +'6E9216055EBC64^-8' +'-200D1F7CCA12CC^-8' +'-113B2A7A8CF452^-8' +'1B6F062E2AF868^-9' +'600D61EFDE6AF^-9' +'3B47C34^-9' +'962CB4^-A' +'-4FAB685A7AF068^-2' +'-D56DA5634B439^-4' +'499579E51226AC^-4' +'6A2A441124FCAC^-5' +'-99BFA211B8EF4^-6' +'-3CAF26AE745C6C^-6' +'-39BBC9265746BA^-7' +'2298EED9B3E142^-7' +'A3A46726B64728^-8' +'-52805C1909685^-9' +'-F54F42416E8C7^-9' +'-F3B8835A6F5BE^-A' +'4FE1B5078518E^-9' +'43D3E8^-9' +'1947FA8^-9' +'-23C858CFA88D9^-2' +'-52B7FBBDBFB268^-3' +'-13BB8E530402A8^-4' +'B136386286A3E^-5' +'157906DB948AE6^-5' +'-1E2109305C8A9E^-6' +'-10A658C20ABFBC^-6' +'-191707A5B14788^-7' +'A7BC4BFCB42D78^-8' +'3EAC337D15715A^-8' +'-52116B888272E^-9' +'-BD1C78F1FD456^-9' +'-320F61ADCE9454^-9' +'7C15333^-9' +'0^0' +'F^1' +'E^1' +'E^1' +'D^1' +'-2C3EF865BF512C^8' +'1E278B885F^2' +'3C4F1710BE^2' +'5A76A2991D^2' +'789E2E217C^2' +'96C5B9A9DB^2' +'B4ED45323A^2' +'D314D0BA99^2' +'10F63E7CB57^3' +'14BB2FEDC15^3' +'1880215ECD3^3' +'1C4512CFD91^3' +'200A0440E4F^3' +'23CEF5B1F0D^3' +'2793E722FCB^3' +'2B58D894089^3' +'922F514785A67^3' +'-2432E80431E1CE^1' +'CA876D6ACEC5B^3' +'-FC24DF0E6F7188^0' +'B1D86F6B6B2748^3' +'30BCF7EC833B16^1' +'-37A859921E272^-2' +'1A1BDCA3793F03^-3' +'FE0A30198431A8^-5' +'-105ED846129227^-5' +'-1453450E861016^-6' +'1A6E613042E128^-7' +'3D93A7F45ACCA6^-8' +'-46E3955D87D1E8^-9' +'-1791C9740F336A^-9' +'8621642A0ECC4^-B' +'AE5069F785D9F8^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'-4CFA6C89F48304^-2' +'B95D4FAFD7BDD8^-4' +'15802DD75B14AB^-4' +'-67C6DCD9F408D8^-6' +'-19B1CE8EEA474^-6' +'73CFBC44F52D2^-8' +'45B75F7571E0F8^-8' +'DD7E31E7F6EC^-B' +'-15EC1499022B23^-9' +'-EA6FAB36C5A24^-B' +'64A5F47394E1A8^-B' +'-ADAFF6DA475838^-B' +'-2B3E7A2B5ACC4^-B' +'0^0' +'0^0' +'-43BE37600DCC84^-2' +'-22C162691DB4C8^-3' +'122CF5D5F5CBAD^-4' +'18017DD14E37E6^-5' +'-126ED759A7F827^-6' +'-2FCA89C2788BDC^-7' +'23559ED6EFCE14^-8' +'BB57DDEA2BE178^-9' +'-451FA8B4A781A4^-A' +'-5A4DDA2F992898^-A' +'5878A0BE548F8^-B' +'6D075B7EB6E8AC^-B' +'-3ABE330C6DB6DC^-B' +'0^0' +'0^0' +'D^1' +'A^1' +'C^1' +'C^1' +'-2C3EF7565B696^8' +'1E278B885F^2' +'3C4F1710BE^2' +'5A76A2991D^2' +'789E2E217C^2' +'96C5B9A9DB^2' +'B4ED45323A^2' +'D314D0BA99^2' +'F13C5C42F8^2' +'10F63E7CB57^3' +'12D8B7353B6^3' +'14BB2FEDC15^3' +'169DA8A6474^3' +'1A629A17532^3' +'25B16E6A76C^3' +'2B58D894089^3' +'6A0AB270E091B8^3' +'-275961857DBFB8^1' +'B737D39DF4C228^3' +'-1490348FD7306C^1' +'E2EE042DEA2A8^3' +'2BB0E234087F4^1' +'-26F3D6A3D1067C^-2' +'1F996FFF98C673^-3' +'47D8261194C35^-5' +'-158950FC2EFCDF^-5' +'9CF04A20FDA74^-8' +'274D5C7C588DB2^-7' +'-CA4B71BBD350E^-9' +'-8AA99B89D9836^-9' +'6D92227E53121^-A' +'328B7C^-A' +'-94AF4^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'-431DF32A6636E8^-2' +'15A3195A00FB01^-3' +'E1957A8F22845^-5' +'-113B59E2251596^-5' +'-BA2C37031ACE08^-7' +'22AB6FE1F87B9E^-7' +'15350C6A97560E^-8' +'-82FC5693DAB5D8^-9' +'-3F582F2A3A7478^-A' +'367F6B8D562174^-A' +'-13CAC^-B' +'-513C8^-B' +'0^0' +'0^0' +'0^0' +'-5351921B2D4934^-2' +'-1557E1D5E69CED^-3' +'1AF902AD8450EE^-4' +'7CD7915D09EA68^-6' +'-215902974DD238^-6' +'-56391D3991B7F^-8' +'59BED1DAA51FE^-8' +'-4434D0B1A5D24^-A' +'-1A725458C008DF^-9' +'1033635F3880A2^-A' +'E916C^-B' +'-1C5A85B597C33^-B' +'0^0' +'0^0' +'0^0' +'C^1' +'A^1' +'B^1' +'B^1' +'-2C3EF6651F0D1C^8' +'1E278B885F^2' +'3C4F1710BE^2' +'5A76A2991D^2' +'789E2E217C^2' +'96C5B9A9DB^2' +'B4ED45323A^2' +'D314D0BA99^2' +'F13C5C42F8^2' +'10F63E7CB57^3' +'12D8B7353B6^3' +'14BB2FEDC15^3' +'169DA8A6474^3' +'1880215ECD3^3' +'1C4512CFD91^3' +'2B58D894089^3' +'440745619AFCCC^3' +'-292CC479E4F246^1' +'A21631CED802A8^3' +'-182A4EB12E1C36^1' +'109B5C4A644329^4' +'268CB84464E66^1' +'-171F5272B97E65^-2' +'1F02A38124C66F^-3' +'-530C5DB7BCE188^-5' +'-10A2729775AA7F^-5' +'F5D22E410A0C5^-7' +'132A3C3DCACBB8^-7' +'-352186A5E64836^-8' +'-1AAF1A1AAFFA5F^-9' +'105F2A77E53121^-9' +'-4AC9A^-B' +'-133869^-A' +'0^0' +'0^0' +'0^0' +'0^0' +'-36DA3C9CDAFBFE^-2' +'1A19985BAC8DDF^-3' +'4DF8EB1BC02CF4^-5' +'-122FAC6F323785^-5' +'5103C4617C3D24^-7' +'1C8090A27FBF1B^-7' +'-2189528705DD9^-8' +'-4A0C0DEAF624D^-9' +'D35A034076972^-A' +'1227F98D562174^-A' +'-80D2A^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'-5A21CF78F54^-2' +'-7B37F1D2B74D1^-4' +'1A702F376F93C^-4' +'-74A5710DB39908^-6' +'-194BF4ECFE4F21^-6' +'1D18F9745BA88C^-7' +'2BEA5AEE0A59A2^-8' +'-871E36FADB82B8^-9' +'-681FCA923C88F^-A' +'223A175F3880A2^-A' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'B^1' +'A^1' +'A^1' +'9^1' +'-2C3EF573E2B0DA^8' +'1E278B885F^2' +'3C4F1710BE^2' +'5A76A2991D^2' +'789E2E217C^2' +'96C5B9A9DB^2' +'B4ED45323A^2' +'D314D0BA99^2' +'F13C5C42F8^2' +'10F63E7CB57^3' +'12D8B7353B6^3' +'14BB2FEDC15^3' +'169DA8A6474^3' +'1880215ECD3^3' +'1C4512CFD91^3' +'2B58D894089^3' +'1CB98B7154B11E^3' +'-2A1A1CF6B7EABA^1' +'89EA5E389CB44^3' +'-1B01676089FF8A^1' +'12B84909568D2B^4' +'21333496359294^1' +'-8BF7ED1B808758^-3' +'1A95285858D17F^-3' +'-B0C92A9B51A5F8^-5' +'-7C571B812065C8^-6' +'11D93455C653BA^-6' +'-4AB92F71DA8914^-8' +'-2561F1B3FA96DE^-8' +'3D62097C798EA8^-9' +'4C21E77E53121^-A' +'-206E318^-A' +'-180C38^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'-299B6513D6F494^-2' +'1A3DB13615D5A4^-3' +'-2DFF4906E7A926^-5' +'-CD59769B91EC18^-6' +'D89E50FEAF57A^-7' +'7B3C8E378BD058^-8' +'-28B361F92FE30A^-8' +'18D3395346F1FB^-9' +'8606B7AB27A2A^-A' +'-23493C72A9DE8C^-A' +'-29F23^-A' +'0^0' +'0^0' +'0^0' +'0^0' +'-5A94BD7C3BCDA4^-2' +'3EADB304A1A3DC^-4' +'143505A64AFAF^-4' +'-F3C5B19099578^-6' +'-87269BDD8F69D8^-7' +'20F7A5C21130F8^-7' +'-101B43FFF3EAFE^-8' +'-58BEB703F9C738^-9' +'ADEAD16DC3771^-A' +'-9B2^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'B^1' +'A^1' +'A^1' +'9^1' +'-2C3EFCFDC592B8^8' +'-2C3EF9EDC16724^8' +'-2C3EF865BF5104^8' +'-2C3EF7565B6998^8' +'-2C3EF6651F0CDC^8' +'-2C3EF573E2B0C8^8' +'6^1' +END_ARRAY 1 433 +BEGIN_ARRAY 2 39 +'DE-0721LE-0721 ' +'-2C3F00B654EA7E^8' +'-2C3EF5A98E0114^8' +'A' +'0' +'1' +'2' +39 +'-2C4000C^8' +'A8C^5' +'-1F1632EAEF0B0C^5' +'1CAC66E0361442^4' +'12E299CD229D33^2' +'-1245FEA9544747^0' +'-C2BEA9DBA705^-2' +'-39130FD98B622A^-2' +'-756EA3FA2ACFF4^-3' +'-41CAC405ABF67C^-4' +'145050BB11A271^-4' +'4CDC00DE6F0578^-5' +'7CA46583C15238^-6' +'-71D0F8DD7A037^5' +'-12E2B91FA2FBAD^4' +'14063871AA063D^2' +'1783F9AF514A3E^0' +'1328667DE5830E^-1' +'1316EEE3A65993^-2' +'-398864968ACBE6^-3' +'-EC2B27195D9F8^-4' +'-1924513041E0DD^-4' +'-2F211D50E33472^-6' +'6D51E8C451716C^-6' +'-308C5964493074^5' +'-8FF7B545B690B^3' +'81CDCF5E78D5A^1' +'CCFE9A980F357^-1' +'C610B3F6D9CFA^-2' +'1042BF5C2AA94E^-2' +'-12AB6E485D1FDD^-3' +'-7756C681ABF618^-4' +'-F8960BCCCD08D^-5' +'-98CB7AE6B1C18^-6' +'2D7537A39870C2^-6' +'-2C4A8CC^8' +'1518^6' +'23^2' +'1^1' +END_ARRAY 2 39 +BEGIN_ARRAY 3 39 +'DE-0721LE-0721 ' +'-2C3F00B654EA7E^8' +'-2C3EF5A98E0114^8' +'4' +'0' +'1' +'2' +39 +'-2C4A8CC^8' +'1518^6' +'-E5B6D74C75DE2^7' +'-643D76239DB9F4^6' +'F2C93D0697DFC^5' +'16214E2FF0D414^4' +'-EE9FD74754FCA8^2' +'-100FB2BD8FD6D9^1' +'-B025832306E1E^-1' +'-F5D51A9517D62^-3' +'5AF7B5971BF80C^-4' +'1C91A8C52F1F47^-5' +'17A964AFADCA8E^-6' +'2FB8EAD9BF3AC^7' +'-19C61126BDC5A9^7' +'-32E28870E155C6^5' +'47A04AE35C9A^4' +'5396E0073CF774^2' +'-729F9754FE2B04^0' +'-58903651480104^-2' +'-34C035E62D600A^-2' +'-584C57A08E015C^-4' +'-27990B5E6B5EAA^-5' +'-144FC0D16A2CCC^-6' +'1C1F619FEC7689^7' +'-BA6C0730B129A^6' +'-1DEAAE3E44EFF6^5' +'20409F1BCF505A^4' +'2CCDB8F97EBC0C^2' +'-2D9AEE0704A8D4^0' +'23E006DB88DB62^-2' +'-17C41DAAD996A2^-2' +'-2A910332B3C0FC^-4' +'-12A1A650F76381^-5' +'-B378E4E5B5C22^-7' +'-2C5FA4C^8' +'2A3^6' +'23^2' +'1^1' +END_ARRAY 3 39 +BEGIN_ARRAY 4 54 +'MAR097 ' +'-2C3F00B654EA7E^8' +'-2C3EF5A98E0114^8' +'1F3' +'4' +'1' +'3' +54 +'-2C3ED97^8' +'2A3^4' +'8923746F47BA6^-4' +'8730C71F3AA63^-3' +'58FADEC94F2968^-3' +'-2C7C672962C18^-3' +'-D6FB1B8F1858C^-4' +'3F5513081AC1A6^-4' +'8ACD8407C1043^-5' +'-2AA9A81AFCBF2^-5' +'-2ABF1BC56E776C^-3' +'-446395088ADF5C^-3' +'74090AE0A3875C^-3' +'1EBF63251E68C4^-3' +'-11DB19E75CE682^-3' +'-23123CDB81C202^-4' +'F47CE931A524B8^-5' +'13C59BAC1CC28^-6' +'-197D32A40E685C^-3' +'-6EFF23753160B^-3' +'BD71AE06B3FEC8^-4' +'29744C77D64AFA^-3' +'-1FFF45EF4A0951^-4' +'-36658289E7B914^-4' +'34D15D935EA536^-5' +'18A900D4EA963^-5' +'7B883FA42AF96^-7' +'60AFCF493791D^-6' +'-571A5E2879FB9C^-6' +'-264C9483AC3B3A^-6' +'E20936B2CB705^-7' +'277B4FA72EF02^-7' +'-E285F3AA384D48^-8' +'0^0' +'4E72B8D9639FC^-7' +'7E334823A4778^-6' +'3DAE2A60FD54^-6' +'-31D45E2B743A88^-6' +'-8499D0FEBB5B3^-7' +'458B1168017688^-7' +'68FB43AA201968^-9' +'0^0' +'-11F3AB7EC77A6^-7' +'CD55EC95D13A4^-7' +'51F2F334E5BD68^-6' +'-520EDA2FB4A4D4^-7' +'-C61ECDCEFB0E88^-7' +'F0613CA585C81^-8' +'82EFB587B5BF^-8' +'0^0' +'-2C3F03A^8' +'546^4' +'32^2' +'1^1' +END_ARRAY 4 54 +TOTAL_ARRAYS 4 + ~NAIF/SPC BEGIN COMMENTS~ +; /home/pgiroux/Desktop/f004a47/f004a47_0.bsp LOG FILE + +; Created 2019-09-30/09:31:27.00. +; +; BEGIN SPKMERGE COMMANDS + +LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls + +SPK_KERNEL = /home/pgiroux/Desktop/f004a47/f004a47_0.bsp + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/viking1/kernels/spk/viking1a.bsp + INCLUDE_COMMENTS = NO + BODIES = -27 + BEGIN_TIME = 1976 JUN 23 18:11:38.484 + END_TIME = 1976 JUN 23 18:58:47.261 + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/spk/mar097.bsp + INCLUDE_COMMENTS = NO + BODIES = 4, 10, 499 + BEGIN_TIME = 1976 JUN 23 18:11:38.484 + END_TIME = 1976 JUN 23 18:58:47.261 + +; END SPKMERGE COMMANDS + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f004a47/f004a47_isis3.lbl b/tests/pytests/data/f004a47/f004a47_isis3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..91a9a8a571aa2c36c5875478b6beb28f3a415a96 --- /dev/null +++ b/tests/pytests/data/f004a47/f004a47_isis3.lbl @@ -0,0 +1,105 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 1204 + TileLines = 1056 + + Group = Dimensions + Samples = 1204 + Lines = 1056 + Bands = 1 + End_Group + + Group = Pixels + Type = UnsignedByte + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = VIKING_ORBITER_1 + InstrumentId = VISUAL_IMAGING_SUBSYSTEM_CAMERA_A + TargetName = MARS + StartTime = 1976-06-23T18:42:11 + ExposureDuration = 0.012730 <seconds> + SpacecraftClockCount = 25973540 + FloodModeId = ON + GainModeId = HIGH + OffsetModeId = OFF + End_Group + + Group = Archive + DataSetId = VO1/VO2-M-VIS-2-EDR-V2.0 + ProductId = 004A47 + MissonPhaseName = PRIMARY_MISSION + ImageNumber = 25973540 + OrbitNumber = 4 + End_Group + + Group = BandBin + FilterName = CLEAR + FilterId = 4 + Center = 0.52 <micrometers> + Width = 0.35 <micrometers> + End_Group + + Group = Kernels + NaifFrameCode = -27001 + CameraVersion = 1 + End_Group + + + Group = Reseaus + Line = (4, 8, 11, 13, 15, 17, 18, 20, 21, 22, 23, 132, 134, 137, 139, + 141, 143, 145, 147, 148, 150, 151, 152, 260, 264, 266, 268, + 270, 272, 274, 276, 277, 279, 281, 389, 391, 394, 396, 398, + 400, 401, 403, 405, 407, 408, 409, 518, 521, 523, 526, 528, + 529, 531, 532, 534, 536, 538, 647, 648, 651, 653, 655, 657, + 658, 660, 662, 663, 665, 666, 776, 779, 781, 783, 785, 786, + 788, 789, 790, 792, 794, 906, 907, 909, 911, 913, 914, 915, + 917, 918, 920, 922, 923, 1035, 1037, 1039, 1040, 1042, 1043, + 1044, 1046, 1047, 1048, 1051) + Sample = (18, 137, 255, 372, 489, 605, 721, 837, 954, 1070, 1187, 20, + 79, 197, 314, 431, 547, 663, 779, 895, 1011, 1127, 1186, 20, + 139, 256, 373, 490, 605, 721, 837, 953, 1069, 1185, 21, 81, + 199, 316, 432, 548, 663, 779, 895, 1010, 1126, 1184, 22, 141, + 257, 374, 489, 605, 721, 836, 952, 1068, 1184, 22, 82, 199, + 316, 431, 547, 663, 778, 893, 1009, 1125, 1183, 22, 141, 257, + 373, 489, 604, 719, 835, 950, 1066, 1182, 22, 81, 198, 314, + 430, 545, 660, 776, 891, 1007, 1123, 1181, 20, 138, 255, 371, + 486, 602, 717, 832, 948, 1064, 1180) + Type = (1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6) + Valid = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + Template = $viking1/reseaus/vo1.visa.template.cub + Status = Nominal + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = History + Name = IsisCube + StartByte = 1336961 + Bytes = 428 +End_Object + +Object = OriginalLabel + Name = IsisCube + StartByte = 1337389 + Bytes = 2052 +End_Object + +End diff --git a/tests/pytests/data/f004a47/f004a47_pds3.lbl b/tests/pytests/data/f004a47/f004a47_pds3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..923e8986efe52239d0f71872aa5e8a3e9e1ed15f --- /dev/null +++ b/tests/pytests/data/f004a47/f004a47_pds3.lbl @@ -0,0 +1,1633 @@ +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL +/* FILE FORMAT AND LENGTH */ +RECORD_TYPE = VARIABLE_LENGTH +RECORD_BYTES = 1204 +FILE_RECORDS = 2177 +LABEL_RECORDS = 61 +/* POINTERS TO START RECORDS OF MAJOR OBJECTS IN FILE */ +^IMAGE_HISTOGRAM = 62 +^ENCODING_HISTOGRAM = 63 +^ENGINEERING_TABLE = 65 +^LINE_HEADER_TABLE = 66 +^IMAGE = 1122 +/* IMAGE DESCRIPTION */ +DATA_SET_ID = 'VO1/VO2-M-VIS-2-EDR-V2.0' +SPACECRAFT_NAME = VIKING_ORBITER_1 +MISSION_PHASE_NAME = PRIMARY_MISSION +TARGET_NAME = MARS +IMAGE_ID = '004A47' +IMAGE_NUMBER = 25973540 +IMAGE_TIME = 1976-06-23T18:42:11Z +EARTH_RECEIVED_TIME = 1976-06-24T07:34:44Z +ORBIT_NUMBER = 4 +INSTRUMENT_NAME = VISUAL_IMAGING_SUBSYSTEM_CAMERA_A +GAIN_MODE_ID = HIGH +FLOOD_MODE_ID = ON +OFFSET_MODE_ID = OFF +FILTER_NAME = CLEAR +EXPOSURE_DURATION = 0.012730 <SECONDS> +NOTE = "HIGH RESOLUTION STEREO SEQUENCE OF + THE A1 LANDING SITE" +/* DESCRIPTION OF THE OBJECTS CONTAINED IN FILE */ +OBJECT = IMAGE_HISTOGRAM + ITEMS = 256 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENCODING_HISTOGRAM + ITEMS = 511 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENGINEERING_TABLE + ROWS = 1 + ROW_BYTES = 152 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = ENGINEERING_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 152 + NOTE = "This structure describes the format of + the engineering record that is included in each image file. + This record contains the first 152 bytes of data extracted from + the Mission and Test Imaging System (MTIS) header record on each + file of an imaging EDR tape." + + OBJECT = COLUMN + NAME = MTIS_RECORD_ID + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 1 + BYTES = 2 + DESCRIPTION = "Mission and Test Imaging System record + ID." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PHYSICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 3 + BYTES = 2 + DESCRIPTION = "Physical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Logical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 7 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of first line segment in the file containing valid + data. This field is NOT stored in VAX least significant byte + first format." + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). Time of first line record in the file containing valid + data. This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 7 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of last line segment of the file containing valid + data." + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 8 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + first line segment of the file containing valid data. Note that + this may not correspond to the FDS count for line 1, segment 1." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + last line segment of the file containing valid data. Note that + this may not correspond to the FDS count for segment 7 of line + 1056." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_ID + DATA_TYPE = CHARACTER + START_BYTE = 27 + BYTES = 6 + DESCRIPTION = "Tape reel identifier of the original + EDR tape for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_FILE_NUMBER + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "File number of image on original EDR + tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 34 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 36 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in the image. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Average pixel value for image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_1 + DATA_TYPE = CHARACTER + START_BYTE = 39 + BYTES = 4 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Minimum signal to noise ratio. The + minimum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Maximum signal to noise ratio. The + maximum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_2 + DATA_TYPE = CHARACTER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control minimum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control maximum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_3 + DATA_TYPE = CHARACTER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 55 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that contain some valid data (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 57 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were fully synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 59 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were partly synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 61 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 0 (maximum is 7 x 1056). + DQI0 indicates bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 63 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 1 (maximum is 7 x 1056). + DQI1 means SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 65 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 2 (maximum is 7 x 1056). + DQI2 means SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 67 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 3 (maximum is 7 x 1056). + DQI3 means SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 69 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 4 (maximum is 7 x 1056). + DQI4 means SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FDS_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 71 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected FDS counts." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 73 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = ADJUSTED_PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 75 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes adjusted based on the + number of line segments processed versus the total in a full + image (7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNREADABLE_RECORDS + DATA_TYPE = VAX_INTEGER + START_BYTE = 77 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that could not be read from the Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 79 + BYTES = 2 + DESCRIPTION = "Total number of breaks in logical + sequence number in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DATA_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 81 + BYTES = 2 + DESCRIPTION = "Total number of breaks in data + sequence in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_4 + DATA_TYPE = CHARACTER + START_BYTE = 83 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 85 + BYTES = 2 + DESCRIPTION = "Total number of lines in the file that + contain some valid data (nominal is 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 87 + BYTES = 2 + DESCRIPTION = "Number of lines in the file that are + composed of seven line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTIAL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 89 + BYTES = 2 + DESCRIPTION = "Total number of line records in the + file that contain some valid data but are not composed of seven + line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 91 + BYTES = 2 + DESCRIPTION = "First line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 93 + BYTES = 2 + DESCRIPTION = "Last line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_5 + DATA_TYPE = CHARACTER + START_BYTE = 95 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = IMAGE_ID + DATA_TYPE = CHARACTER + START_BYTE = 97 + BYTES = 6 + DESCRIPTION = "Image identifier (PICNO) for this + image, formatted OOOSNN, where OOO is orbit number, S is + spacecraft identifier (A for Viking Orbiter 1 prime and extended + missions; B for Viking Orbiter 2; and S for Viking Orbiter 1 + Survey mission)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VRP_RUN_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 103 + BYTES = 2 + DESCRIPTION = "Viking Reconstruction Processing run + number." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DISK_ID + DATA_TYPE = CHARACTER + START_BYTE = 105 + BYTES = 6 + DESCRIPTION = "MTIS disk identifier of the original + EDR file for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_6 + DATA_TYPE = CHARACTER + START_BYTE = 111 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 113 + BYTES = 2 + DESCRIPTION = "Transmitted command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. Where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step indicator." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD2 + DATA_TYPE = INTEGER + START_BYTE = 115 + BYTES = 2 + DESCRIPTION = "Transmitted command code word 2 for + this image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_NUMBER + START_BIT = 10 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter number: where 1 is blue; 2 is + minus blue; 3 is violet; 4 is clear; 5 is green; and 6 is red." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CAMERA_SERIAL_NUMBER + START_BIT = 13 + BITS = 4 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Visual Imaging Subsystem camera serial + number." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = RECEIVED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 117 + BYTES = 2 + DESCRIPTION = "Received command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current (beam) off (0) or on + (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS50_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 121 + BYTES = 2 + DESCRIPTION = "Plus 50 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 123 + BYTES = 2 + DESCRIPTION = "Plus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS12_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 125 + BYTES = 2 + DESCRIPTION = "Plus 12 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS5_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 127 + BYTES = 2 + DESCRIPTION = "Plus 5 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 129 + BYTES = 2 + DESCRIPTION = "Minus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS23_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 131 + BYTES = 2 + DESCRIPTION = "Minus 23 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_AVERAGE_VIDEO + DATA_TYPE = VAX_INTEGER + START_BYTE = 133 + BYTES = 2 + DESCRIPTION = "Average video." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = POWER_CONVERTER_INPUT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 135 + BYTES = 2 + DESCRIPTION = "Power converter input current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 137 + BYTES = 2 + DESCRIPTION = "Cathode current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 139 + BYTES = 2 + DESCRIPTION = "Cathode voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILAMENT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 141 + BYTES = 2 + DESCRIPTION = "Filament current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FRAME_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 143 + BYTES = 2 + DESCRIPTION = "Frame sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 145 + BYTES = 2 + DESCRIPTION = "Line sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = GRID3_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 147 + BYTES = 2 + DESCRIPTION = "Grid 3 voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FOCUS_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 149 + BYTES = 2 + DESCRIPTION = "Focus current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DIGITAL_LADDER + DATA_TYPE = VAX_INTEGER + START_BYTE = 151 + BYTES = 2 + DESCRIPTION = "Digital ladder." + END_OBJECT = COLUMN + +END_OBJECT = ENGINEERING_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = LINE_HEADER_TABLE + ROWS = 1056 + ROW_BYTES = 62 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = LINE_HEADER_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 62 + NOTE = "Viking Orbiter Image Line-header + Structure. This label describes the structure of the 62-bytes + extracted from the end of each image line." + + OBJECT = COLUMN + NAME = FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 1 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem (FDS) clock + count." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Flight Data Subsystem line number, + extracted from the telemetry record header information." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 7 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 8 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in this line. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Average pixel value for this line." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + line that contain some valid data (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were fully synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were partly synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 0 (maximum is 7), indicating + bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 1 (maximum is 7), indicating + SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 21 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 2 (maximum is 7), indicating + SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 3 (maximum is 7), indicating + SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 25 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 4 (maximum is 7), indicating + SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 27 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 29 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 31 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 35 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 39 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 41 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EMBEDDED_SCIENCE_DATA + ITEMS = 7 + DATA_TYPE = INTEGER + START_BYTE = 55 + ITEM_BYTES = 1 + DESCRIPTION = "Embedded low rate science data from + seven segments." + END_OBJECT = COLUMN + +END_OBJECT = LINE_HEADER_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = IMAGE + ENCODING_TYPE = HUFFMAN_FIRST_DIFFERENCE + LINES = 1056 + LINE_SAMPLES = 1204 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 + SAMPLE_BIT_MASK = 2#11111110# + CHECKSUM = 205881028 +END_OBJECT +END diff --git a/tests/pytests/data/f004a47/naif0012.tls b/tests/pytests/data/f004a47/naif0012.tls new file mode 100644 index 0000000000000000000000000000000000000000..e1afdee1b626e01a3f1b04ef8a43154e83972e56 --- /dev/null +++ b/tests/pytests/data/f004a47/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/f004a47/pck00009.tpc b/tests/pytests/data/f004a47/pck00009.tpc new file mode 100644 index 0000000000000000000000000000000000000000..bfadaab2b26817327189ff3173e9609f49dedc9d --- /dev/null +++ b/tests/pytests/data/f004a47/pck00009.tpc @@ -0,0 +1,3639 @@ +KPL/PCK + + +P_constants (PcK) SPICE kernel file +=========================================================================== + + By: Nat Bachman (NAIF) 2010 March 3 + + +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/IAG + 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 + + +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 and planets. + Additional items included in this section: + + - Earth north geomagnetic centered dipole values + for epochs 1945-2000 + + - Mars prime meridian offset "lambda_a" + + -- Orientation constants for satellites + + -- Orientation constants for asteroids Eros, Gaspra, Ida, + Itokawa, and Vesta + + -- Orientation constants for comets 19P/Borrelly + and 9P/Tempel 1 + + + Radii of Bodies + --------------- + + -- Radii of Sun and planets + + -- Radii of satellites, where available + + -- Radii of asteroids Ceres, Eros, Gaspra, Ida, Itokawa, + Mathilde, Toutatis, and Vesta. + + -- Radii of comets 19P/Borrelly, Halley, 9P/Tempel 1, + and 81P/Wild 2 + + + +Version Description +-------------------------------------------------------- + + This file was created on March 3, 2010. This version + incorporates data from reference [1]. + + This file contains size, shape, and orientation data for all + objects described by the previous version of the file, except + for Kleopatra: a shape model for this body is not provided in [1] + because, according to this source, it had been "modeled from + low resolution radar data, and cannot be mapped from those + data." + + New objects covered by this file but not the previous + version are: + + 19P/Borrelly + Halley + 9P/Tempel 1 + 81P/Wild 2 + Ceres + Itokawa + Mathilde + Toutatis + + +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, and version description section if you modify + this file. + +Known Limitations and Caveats + + Accuracy + -------- + + In general, the orientation models given here are claimed by the + IAU/IAG 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]) 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. 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 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. A more + accurate approximation can be obtained by using both the NAIF + lunar frame kernel and the binary lunar orientation PCK file, + which 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 + J2000 epoch 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]. + + + Mars prime meridian offset + -------------------------- + + The Mars prime meridian offset given by [5] is not used by + SPICE geometry software for computations involving the shape + of Mars (for example, in sub-observer point or surface intercept + computations). The value 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 only planets for which such terms are used are + Jupiter and Neptune. Use of trigonometric polynomial terms for + natural satellites is and has been supported for all SPICE Toolkit + versions. + + 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 +-------------------------------------------------------- + + The sources for the constants listed in this file are: + + + [1] 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." + + [2] Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F., + Cruikshank, D.P., Hilton, J.L., Keller, H.U., Oberst, J., + Simon, J.L., Stooke, P., Tholen, D.J., and Thomas, P.C. + "Report of the IAU/IAG Working Group on Cartographic + Coordinates and Rotational Elements of the Planets and + Satellites: 2003." + + [3] 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. + + [4] Nautical Almanac Office, United States Naval Observatory, + H.M. Nautical Almanac Office, Royal Greenwich + Observatory, Jet Propulsion Laboratory, Bureau des + Longitudes, and The Time Service and Astronomy + Departments, United States Naval Observatory (1992). + "Explanatory Supplement to the Astronomical Almanac," P. + Kenneth Seidelmann, ed. University Science Books, 20 + Edgehill Road, Mill Valley, CA 9494. + + [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. + + + Most values are from [1]. All exceptions are + commented where they occur in this file. The exceptions are: + + + -- Radii for the Sun are from [3]. + + -- 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 + [8]. The article [6] was used to check most of + these values, and the values were also re-computed from + the 9th generation IGRF [9] by Nat Bachman. + + -- The Mars prime meridian offset angle is from [5]. + + + "Old values" listed are from the SPICE P_constants file + pck00008.tpc dated September 21, 2004. Most of these values came + from the 2003 IAU report [2]. + + + + +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.14 6378.14 6356.75 ) + + 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.14 + 6378.14 + 6356.75 ) + + 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 2006 IAU/IAG 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 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 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, 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: 2006 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.5366420 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 term is zero for all bodies except Mars. It represents the + angular offset between the meridian containing the longest axis of + the triaxial ellipsoid used to model a body's surface and the + prime meridian of the body. + + 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 2006 IAU report does + not use any other models, except in the case of Mars, where + separate values are given for the north and south polar radii. + + 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.14 6378.14 6356.75 ) + + +Body Numbers 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 + + + 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 + 2000004 Asteroid Vesta + 2000216 Asteroid Kleopatra + 2000253 Asteroid Mathilde + 2000433 Asteroid Eros + 2004179 Asteroid Toutatis + 2025143 Asteroid Itokawa + 2431010 Asteroid Ida + 9511010 Asteroid Gaspra + + +Orientation Constants for the Sun and Planets +-------------------------------------------------------- + + +Sun + + Old values: + + Values are from the 2003 IAU report. + + + body10_pole_ra = ( 286.13 0. 0. ) + body10_pole_dec = ( 63.87 0. 0. ) + body10_pm = ( 84.10 14.18440 0. ) + body10_long_axis = ( 0. ) + + 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 unchanged in the 2006 IAU report. + + + Current values: + + \begindata + + BODY199_POLE_RA = ( 281.01 -0.033 0. ) + BODY199_POLE_DEC = ( 61.45 -0.005 0. ) + BODY199_PM = ( 329.548 6.1385025 0. ) + + BODY199_LONG_AXIS = ( 0. ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 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 2006 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: + + Old 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 ) + + + Current values: + + 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 + + + Values are given for the epoch 2000 and are from the final row + of the above table, which is from [8]. As shown by the table + these values constitute a low-accuracy approximation for epochs + not close to 2000. + + \begindata + + BODY399_N_GEOMAG_CTR_DIPOLE_LON = ( 288.43 ) + BODY399_N_GEOMAG_CTR_DIPOLE_LAT = ( 79.54 ) + + \begintext + + +Mars + + Old values: + + Values are unchanged in the 2006 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: + + Values are from the 2003 IAU report. + + + body599_pole_ra = ( 268.05 -0.009 0. ) + body599_pole_dec = ( 64.49 0.003 0. ) + body599_pm = ( 284.95 870.5366420 0. ) + body599_long_axis = ( 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.35 2382.6 + 113.35 6070.0 + 146.64 182945.8 + 49.24 90274.4 ) + + + + 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.5366420 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 unchanged in the 2006 IAU report. + + Current values: + + \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 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. + + + \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 + 29.80 -52.1 + 706.64 151413.4 + 57.44 151413.4 ) + \begintext + + +Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 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 + + + +Pluto + + Old values: + + Values are from the 2003 IAU report. + + BODY999_POLE_RA = ( 313.02 0. 0. ) + BODY999_POLE_DEC = ( 9.09 0. 0. ) + BODY999_PM = ( 236.77 -56.3623195 0. ) + BODY999_LONG_AXIS = ( 0. ) + + + Current values: + + \begindata + + 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. ) + + \begintext + + + + +Orientation constants for the satellites +-------------------------------------------------------- + + +Satellites of Earth + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 from the 2003 IAU report. + + + body502_pole_ra = ( 268.08 -0.009 0. ) + body502_pole_dec = ( 64.51 0.003 0. ) + body502_pm = ( 35.67 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 ) + + + 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Enceladus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Tethys + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Dione + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Rhea + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 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. ) + + \begintext + + + + Titan + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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 ) + + \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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Phoebe + + + Old values: + + Values are from the 2003 IAU report. + + body609_pole_ra = ( 355.00 0. 0. ) + body609_pole_dec = ( 68.70 0. 0. ) + body609_pm = ( 304.70 930.8338720 0. ) + body609_long_axis = ( 0. ) + + 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 2006 IAU report. + + Current values: + + \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. 0.023 ) + BODY610_NUT_PREC_DEC = ( 0. -0.183 0. 0. 0. 0. 0. 0. 0.001 ) + BODY610_NUT_PREC_PM = ( 0. 1.613 0. 0. 0. 0. 0. 0. -0.023 ) + + \begintext + + + + Epimetheus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 0.086 0. ) + BODY611_NUT_PREC_DEC = ( -0.356 0. 0. 0. 0. 0. 0. 0.005 0. ) + BODY611_NUT_PREC_PM = ( 3.133 0. 0. 0. 0. 0. 0. -0.086 0. ) + + \begintext + + + + Helene + + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 report [1] states that values for Nereid are not + given because Nereid is not in synchronous rotation with Neptune + (p. 167). + + + + Naiad + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2003 IAU report. + + body901_pole_ra = ( 313.02 0. 0. ) + body901_pole_dec = ( 9.09 0. 0. ) + body901_pm = ( 56.77 -56.3623195 0. ) + body901_long_axis = ( 0. ) + + Current values: + + \begindata + + 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. ) + + \begintext + + + +Orientation constants for Selected Comets and Asteroids +-------------------------------------------------------- + + + +19P/Borrelly + + + 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 + + + +9P/Tempel 1 + + + 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 + + +Vesta + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY2000004_POLE_RA = ( 301. 0. 0. ) + BODY2000004_POLE_DEC = ( 41. 0. 0. ) + BODY2000004_PM = ( 292. 1617.332776 0. ) + BODY2000004_LONG_AXIS = ( 0. ) + + \begintext + +Eros + + Old values: + + Values are unchanged in the 2006 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 + + +Itokawa + + + 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 + + + +Ida + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + +Gaspra + + Old values: + + Values are unchanged in the 2006 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 + + + + + + + + + + +Radii of Sun and Planets +-------------------------------------------------------- + + +Sun + + Value for the Sun is from the [3], page K7. + + \begindata + + BODY10_RADII = ( 696000. 696000. 696000. ) + + \begintext + + +Mercury + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY199_RADII = ( 2439.7 2439.7 2439.7 ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY299_RADII = ( 6051.8 6051.8 6051.8 ) + + \begintext + + +Earth + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + + \begindata + + BODY399_RADII = ( 6378.14 6378.14 6356.75 ) + + \begintext + + +Mars + + + Old values: + + body499_radii = ( 3397. 3397. 3375. ) + + Current values: + + + The IAU report gives separate values for the north and south + polar radii: + + north: 3373.19 + south: 3379.21 + + We use the average of these values 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 2006 IAU report. + + Current values: + + \begindata + + BODY599_RADII = ( 71492 71492 66854 ) + + \begintext + + + +Saturn + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY699_RADII = ( 60268 60268 54364 ) + + \begintext + + + +Uranus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY799_RADII = ( 25559 25559 24973 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + (Values are for the 1 bar pressure level.) + + \begindata + + BODY899_RADII = ( 24764 24764 24341 ) + + \begintext + + + +Pluto + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY999_RADII = ( 1195 1195 1195 ) + + \begintext + + + + +Radii of Satellites +-------------------------------------------------------- + + +Moon + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY301_RADII = ( 1737.4 1737.4 1737.4 ) + + \begintext + + + +Satellites of Mars + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY401_RADII = ( 13.4 11.2 9.2 ) + BODY402_RADII = ( 7.5 6.1 5.2 ) + + \begintext + + + +Satellites of Jupiter + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY501_RADII = ( 1829.4 1819.3 1815.7 ) + BODY502_RADII = ( 1564.13 1561.23 1560.93 ) + BODY503_RADII = ( 2632.4 2632.29 2632.35 ) + BODY504_RADII = ( 2409.4 2409.2 2409.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 ) + + \begintext + + 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. + \begindata + + BODY516_RADII = ( 21.5 21.5 21.5 ) + + \begintext + + + +Satellites of Saturn + + + Old values: + + Values are from the 2003 IAU report. + + body601_radii = ( 209.1 196.2 191.4 ) + body602_radii = ( 256.3 247.3 244.6 ) + body603_radii = ( 535.6 528.2 525.8 ) + body604_radii = ( 560 560 560 ) + body605_radii = ( 764 764 764 ) + body606_radii = ( 2575 2575 2575 ) + body607_radii = ( 164 130 107 ) + body608_radii = ( 718 718 718 ) + body609_radii = ( 115 110 105 ) + 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) was given in the + 2003 IAU report: + + body612_radii = ( 17.5 --- --- ) + + The mean radius was 16km; we used this radius for all three axes, as + we do for the satellites for which only the mean radius is available. + + + body612_radii = ( 16 16 16 ) + 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 ) + + + + Current values: + + \begindata + + 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 ) + + \begintext + + 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. + + + \begindata + + 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 ) + + \begintext + + + For Pan, only a mean radius is given in the 2006 report. + + \begindata + + BODY618_RADII = ( 10 10 10 ) + + \begintext + + + +Satellites of Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 IAU report. + + Current values: + + The 2000 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 2000 + 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 from the 2003 IAU report. + + BODY901_RADII = ( 593 593 593 ) + + Current values: + + \begindata + + BODY901_RADII = ( 605 605 605 ) + + \begintext + + + +Radii for Selected Comets and Asteroids +-------------------------------------------------------- + + +19P/Borrelly + + + 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 + + + +Halley + + + Current values: + + \begindata + + BODY1000036_RADII = ( 8.0 4.0 4.0 ) + + \begintext + + + +9P/Tempel 1 + + + 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 + + +81P/Wild 2 + + + Current values: + + + \begindata + + BODY1000107_RADII = ( 2.7 1.9 1.5 ) + + \begintext + + +Ceres + + + Current values: + + + \begindata + + BODY2000001_RADII = ( 487.3 487.3 454.7 ) + + \begintext + + +Vesta + + + Current values: + + + \begindata + + BODY2000004_RADII = ( 289. 280. 229. ) + + \begintext + + +Toutatis + + + Current values: + + + \begindata + + BODY2004179_RADII = ( 2.13 1.015 0.85 ) + + \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 2006 report. + + +Mathilde + + + Current values: + + + \begindata + + BODY2000253_RADII = ( 33. 24. 23. ) + + \begintext + +Eros + + + Current values: + + + \begindata + + BODY2000433_RADII = ( 17.0 5.5 5.5 ) + + \begintext + + +Itokawa + + + Current values: + + + \begindata + + BODY2025143_RADII = ( 0.535 0.294 0.209 ) + + \begintext + + + +Gaspra + + + Current values: + + + \begindata + + BODY9511010_RADII = ( 9.1 5.2 4.4 ) + + \begintext + + + + +Ida + + + Current values: + + + \begindata + + BODY2431010_RADII = ( 26.8 12.0 7.6 ) + + \begintext + + + +=========================================================================== +End of file pck00009.tpc +=========================================================================== + + + diff --git a/tests/pytests/data/f004a47/vikingAddendum003.ti b/tests/pytests/data/f004a47/vikingAddendum003.ti new file mode 100644 index 0000000000000000000000000000000000000000..98d77dabf0b8c75725cc56d8e0d7e8f530da5fa2 --- /dev/null +++ b/tests/pytests/data/f004a47/vikingAddendum003.ti @@ -0,0 +1,23 @@ +\begindata +INS-27001_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-27001_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-27001_ITRANSS = ( 0.0, 85.0, 0.0) +INS-27001_ITRANSL = ( 0.0, 0.0, 85.0) + +INS-27002_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-27002_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-27002_ITRANSS = ( 0.0, 85.0, 0.0) +INS-27002_ITRANSL = ( 0.0, 0.0, 85.0) + +\begintext +These are the parameters for writing c-kernels. Isis will create ck +with the same frame endpoints as the mission ck. For Viking1 the ck +instrument frame is VO1_PLATFORM (-27000) and the ck reference frame +is B1950 (2) or J2000 (1), depending on the ck used. The mdim2.0_rand +ck is in J2000. + +\begindata +INS-27001_CK_FRAME_ID=-27000 +INS-27001_CK_REFERENCE_ID=2 +INS-27002_CK_FRAME_ID=-27000 +INS-27002_CK_REFERENCE_ID=2 diff --git a/tests/pytests/data/f004a47/vo1_fict.tsc b/tests/pytests/data/f004a47/vo1_fict.tsc new file mode 100644 index 0000000000000000000000000000000000000000..ca6eab8889dbe1ae002356ae175ce3da73dc318f --- /dev/null +++ b/tests/pytests/data/f004a47/vo1_fict.tsc @@ -0,0 +1,136 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO1_FICT.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 1" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO1_FICT.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:20 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION, + SURVEY_MISSION + } +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 = MARS +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 = "SCLK file implementing fictitious clock +used to tag orientation data in the VO1 CK files. This SCLK file does NOT +represent real Viking Orbiter 1 on-board clock but rather is a simple +counter of milliseconds since 1 Jan 1976 00:00:00. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 1 "fictitious" SCLK Kernel +-------------------------------------------------------- + + This file contains the data necessary to convert between the + 'fictitious' Viking Orbiter 1 on-board clock times used as tags + for pointing instances in Viking Orbiter 1 CK files and ephemeris + time. + + NAIF suggests that you do not modify this file. If you do modify + it, be sure to indicate this in the `Version' section below. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are simply the number of seconds that have passed since the UTC + epoch 1 Jan 1976 00:00:00. Thus 288929292.827 simply represents + the epoch that occurs 288929292.827 seconds past the UTC epoch + 1 Jan 1976. + + For all time, the clock runs at the same rate as Terrestrial + Dynamical Time (TDT). There is only one partition for this clock. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will + also need to load a leapseconds kernel. The additional call + to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + + \begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_27 = ( 1 ) + + SCLK01_TIME_SYSTEM_27 = ( 2 ) + SCLK01_N_FIELDS_27 = ( 2 ) + SCLK01_MODULI_27 = ( 10000000000 1000 ) + SCLK01_OFFSETS_27 = ( 0 0 ) + SCLK01_OUTPUT_DELIM_27 = ( 1 ) + + SCLK_PARTITION_START_27 = ( 0.0000000000000E+00 ) + SCLK_PARTITION_END_27 = ( 1.00000000E+14 ) + SCLK01_COEFFICIENTS_27 = ( 0.00000000E+00 + @01-JAN-1976-00:00:47.184 + 1 ) + + \begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f004a47/vo1_fsc.tsc b/tests/pytests/data/f004a47/vo1_fsc.tsc new file mode 100644 index 0000000000000000000000000000000000000000..aa5d9a7c0ea464b9eb1da461c207a2de2c1927e2 --- /dev/null +++ b/tests/pytests/data/f004a47/vo1_fsc.tsc @@ -0,0 +1,237 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO1_FSC.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 1" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO1_FSC.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:21 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION, + SURVEY_MISSION + } +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 = MARS +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 = "SCLK file containing linear piecewise +function representing VO1 FSC on-board clock. This function was generated as +the result of VO1 image time tags restoration. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 1 Reconstructed Frame Start Count (FSC) SCLK file +-------------------------------------------------------- + + This file contain data necessary to convert a Viking Orbiter 1 + FSC count to the ET time corresponding to it. These data are + based on the results of VO1 image times reconstruction done at + NAIF/JPL. The process of this reconstruction is described in + detail in the "VO Image Time Reconstruction" document. + + Note that the main purpose of this file is to store the + reconstructed FSC counter; the on-board clock defined by the + function in this file was not used to time tag any of the + orientation data in CK files. + + To avoid confusion with the other VO1 clock used for time tagging, + the FSC on-board clock in this file was assigned the NAIF ID + code -27999. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are the eight digit VO1 FSC count associated with each VO1 image. + Note that the actual "image time" (the time of the beginning, + middle or the end of exposure) has a significant offset from + the FSC tick start time. This offset depends on the exposure + duration and is described in the "VO Image Time Reconstruction" + document. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + +\begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_27999 = ( 1 ) + SCLK01_TIME_SYSTEM_27999 = ( 2 ) + SCLK01_N_FIELDS_27999 = ( 1 ) + SCLK01_MODULI_27999 = ( 60000000 ) + SCLK01_OFFSETS_27999 = ( 25837050 ) + SCLK01_OUTPUT_DELIM_27999 = ( 1 ) + + SCLK_PARTITION_START_27999 = ( + 0 + 231791 + 644942 + 1569121 + 3367553 + 5555717 + 6396566 + 7572950 + 8087730 + 9835672 + 10866610 + 11503583 + 12217716 + 13159619 + 13679685 + 14664700 + 15449939 + 16432925 + 17479492 + 17896518 + 18344818 + 20321730 + 23280832 + 24166658 + 24262845 + 24359029 + 24609280 + 25992950 + 26522392 + 27368930 + 27915783 + ) + + SCLK_PARTITION_END_27999 = ( + 231791 + 644942 + 1569121 + 3367553 + 5555717 + 6396566 + 7572950 + 8087730 + 9835672 + 10866610 + 11503583 + 12217716 + 13159619 + 13679685 + 14664700 + 15449939 + 16432925 + 17479492 + 17896518 + 18344818 + 20321730 + 23280832 + 24166658 + 24262845 + 24359029 + 24609280 + 25992950 + 26522392 + 27368930 + 27915783 + 59999999 + ) + + SCLK01_COEFFICIENTS_27999 = ( + + 0 -742936101.084011 4.480002320 + 231791 -741897676.845143 4.480001506 + 644942 -740046759.578601 4.480001685 + 1569121 -735906436.111559 4.480001416 + 3367553 -727849458.210550 4.480001972 + 5555717 -718046479.059529 4.480002284 + 6396566 -714279473.752967 4.480001816 + 7572950 -709009271.245943 4.480001816 + 8087730 -706703055.797485 4.480001869 + 9835672 -698872272.708142 4.480001557 + 10866610 -694253669.451953 4.480001151 + 11503583 -691400029.539901 4.480000884 + 12217716 -688200712.915836 4.480000934 + 13159619 -683980986.490315 4.480000934 + 13679685 -681651090.175512 4.480000934 + 14664700 -677238222.129167 4.480000778 + 15449939 -673720350.640383 4.480000830 + 16432925 -669316572.195161 4.480000882 + 17479492 -664627950.891482 4.480000922 + 17896518 -662759673.743136 4.480000929 + 18344818 -660751289.419364 4.480000581 + 20321730 -651894716.843243 4.480001297 + 23280832 -638637935.825957 4.480001191 + 24166658 -634669434.296886 4.480000989 + 24262845 -634238516.448398 4.480001715 + 24359029 -633807611.943517 4.480001275 + 24609280 -632686487.136533 4.480001142 + 25992950 -626487643.963656 4.480001192 + 26522392 -624115743.164982 4.480000986 + 27368930 -620323251.820923 4.480001408 + 27915783 -617873349.601991 4.480001089 + + ) + +\begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f004a47/vo1_sedr_ck2_0_sliced_-27000.xc b/tests/pytests/data/f004a47/vo1_sedr_ck2_0_sliced_-27000.xc new file mode 100644 index 0000000000000000000000000000000000000000..71e8535b39eeb49512ba1fdde733bcfbed01e6be --- /dev/null +++ b/tests/pytests/data/f004a47/vo1_sedr_ck2_0_sliced_-27000.xc @@ -0,0 +1,851 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/CK ' +'2' +'6' +'VO1 PLATFORM ATTITUDE; CREATED BY BVS/NAIF; 2006-FEB-09 ' +BEGIN_ARRAY 1 830 +'VO1 ATT. BASED ON GEM AND SEDR FILES ' +'383F9F574^9' +'384251F5D^9' +'-6978' +'2' +'2' +'1' +830 +'CA965B2A89E4C^0' +'-1294393B76A31A^0' +'74CD97638987A8^0' +'-667FFA8FFDAFC4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'CB0193CF5439A^0' +'-1235EDEA0A6DD3^0' +'741359CF2F48A^0' +'-6690537EF1F8E8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'CB8639113D6618^0' +'-11C0159EB60E12^0' +'7329C313EF7794^0' +'-66A56ADD6B6094^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'CC0ABC22E8FE1^0' +'-1149F7DCECB019^0' +'723EF767BC44BC^0' +'-66B8DF77A0E3D^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'CCA813B03C7AD^0' +'-10CCA4EBC68E52^0' +'713A0CF436B66^0' +'-66B58D70A6C3E4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C1021E72F785^0' +'-30A8A36F477D8C^0' +'AFAACFF6E7AD18^0' +'-592EF5088A89D^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C3E339F55DC2^0' +'-3085B14103FB1^0' +'AF82E56FB93EE8^0' +'-593FEA96CCD92C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C3E32E2798D48^0' +'-308568E06CDEB8^0' +'AF830ABB3C7FF8^0' +'-593FC9E3499E98^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C36043B276778^0' +'-308318B31DFF64^0' +'AF8AA68A6EC79^0' +'-594067A3277168^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C2DAC40C8F968^0' +'-30806A4B0A495A^0' +'AF91E28CD03C08^0' +'-59423BE12910A8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C2ACE9CBD185^0' +'-30855BE6794DB2^0' +'AF8E87EE73EDF^0' +'-594B28087FEF64^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C26E4331DCFC^0' +'-3085420D12F88E^0' +'AF9103856AD64^0' +'-594D2D770EF02^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C26E6FA26D1B^0' +'-308591E7106F08^0' +'AF90F3503C3508^0' +'-594D1D160BD068^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C26E4331DCFC^0' +'-3085420D12F88E^0' +'AF9103856AD64^0' +'-594D2D770EF02^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C2718D6237E1^0' +'-3085F6F5D24C54^0' +'AF90D89908DCB^0' +'-594CC38380E96^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C271880EF0498^0' +'-3085A5D52E0CDE^0' +'AF90E6AA0B2F38^0' +'-594CD485D2C754^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9C2FAD57091248^0' +'-30889057F6982E^0' +'AF8918B7140178^0' +'-594B94A6C1915C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9BFD4D8DE739E8^0' +'-30A8794A1DEC36^0' +'AFB5D45877EC1^0' +'-593A486E652D6C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9BFD811B51F92^0' +'-30A8F81F4B5B18^0' +'AFB5897FF5EDF^0' +'-593A3C872CE24^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9BF951A0B851D^0' +'-30BCE9E7024646^0' +'AFB92B24241E28^0' +'-592F8392DA5DC4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9BF91C3EB9D258^0' +'-30BD5E9A52F7F4^0' +'AFB932D7A68578^0' +'-592F91FBD5E888^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'9BF951A0B851D^0' +'-30BCE9E7024646^0' +'AFB92B24241E28^0' +'-592F8392DA5DC4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CF549817F38^0' +'-3A36AEBAC8FEDA^0' +'BFAE842AC7A59^0' +'-536EB5E4A91654^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CF9D101D80A8^0' +'-3A37133CDF6428^0' +'BFAE485B0EE3E8^0' +'-536E8336A4F43^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CFB5780E2138^0' +'-3A36932BAB95AC^0' +'BFAE2D46811698^0' +'-536EF30EDD53A8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CF9D101D80A8^0' +'-3A37133CDF6428^0' +'BFAE485B0EE3E8^0' +'-536E8336A4F43^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CFE687BFF32^0' +'-3A37003505B468^0' +'BFAE0B0504A3A^0' +'-536EA5D1464E38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87D02F1723C498^0' +'-3A368C2496921A^0' +'BFAE121F3DCAA8^0' +'-536E705E1AF5AC^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CBED30CBED18^0' +'-3A371FE610FE98^0' +'BFAFE48988121^0' +'-5370C7BA211594^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC0AACDF33E^0' +'-3A3721F2E4D186^0' +'BFB01AC68926B8^0' +'-537019B510605^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC4DF9B94AB8^0' +'-3A371F4FBEA326^0' +'BFAFE3931DFCE8^0' +'-53702CD4B95394^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC0AACDF33E^0' +'-3A3721F2E4D186^0' +'BFB01AC68926B8^0' +'-537019B510605^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC4DF9B94AB8^0' +'-3A371F4FBEA326^0' +'BFAFE3931DFCE8^0' +'-53702CD4B95394^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87C9F88612292^0' +'-3A40D468506E14^0' +'BFB151B774C848^0' +'-5369E9550BF0DC^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC044EF3ACB^0' +'-3A494053DAE93A^0' +'BFB0EAB94A004^0' +'-53619EDE7BDF^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC0610B6771^0' +'-3A4A0B31F4F8E2^0' +'BFB0D7FAF9FCD^0' +'-53613948665FD8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC35570AC3E8^0' +'-3A49AD5EDE2B12^0' +'BFB0C86D264D18^0' +'-536151A3232B34^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC0610B6771^0' +'-3A4A0B31F4F8E2^0' +'BFB0D7FAF9FCD^0' +'-53613948665FD8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC35570AC3E8^0' +'-3A49AD5EDE2B12^0' +'BFB0C86D264D18^0' +'-536151A3232B34^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC6867FFC6B8^0' +'-3A49F1B357DD12^0' +'BFB0807BD2209^0' +'-536174187EA0F^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC35570AC3E8^0' +'-3A49AD5EDE2B12^0' +'BFB0C86D264D18^0' +'-536151A3232B34^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC9817946EF^0' +'-3A49841246C81E^0' +'BFB0A1D1B32698^0' +'-5361266E58BC8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CC963E6E49^0' +'-3A4991C9C44A86^0' +'BFB0719093415^0' +'-53618EC9D0F38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'87CE3B464A93F^0' +'-3A46B9714E26EA^0' +'BFB23CD547E338^0' +'-535CBE29A262^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'5FF39C222CC74^0' +'-498FF222FF2E1C^0' +'D66B74CBCCABF8^0' +'-464CBA53ABA1C8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'5FF3D16327CD98^0' +'-498F7C4B159E64^0' +'D66B88E9DF85F^0' +'-464CAF977B9228^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6008A700029088^0' +'-4993F9B12572E4^0' +'D661CE2D39FB88^0' +'-464935F8CD48B8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6008AEC760B4^0' +'-4993DBFB25F5F8^0' +'D661FFA40DFD88^0' +'-4648B392396284^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6008CF326FCC3^0' +'-49937F15AC8C9^0' +'D661F8419004^0' +'-4648FF0C8F9CB8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'601DCDD7ECFA58^0' +'-4998A030DC6444^0' +'D6580AA6586DB8^0' +'-46453507BAA72C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'601D9C7EB4CE24^0' +'-499816F098EBAC^0' +'D65865FAC6755^0' +'-4644F1B1197E0C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'601DF60810046C^0' +'-4998259AF8FD3^0' +'D65834BD57559^0' +'-4644FE0F643218^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'602855E8D3B1B8^0' +'-499A0E77E5EBAC^0' +'D65371C8434898^0' +'-4643528100BC^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6032AD24E5A0D4^0' +'-499C088CB5771C^0' +'D64ED30AF53F48^0' +'-464130512BD824^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'607A827FD5D8C^0' +'-4984A1711A7978^0' +'D62E69C7D5366^0' +'-465A03483C2314^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'607AAC97628328^0' +'-49851DE86847^0' +'D62E3910C5B4C^0' +'-4659DBCC43A474^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'608F29714491E4^0' +'-4988BB64081594^0' +'D624FCA4A05D7^0' +'-465616729E3A18^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'608F669D2A0A04^0' +'-4988FDFE619CE^0' +'D624D29BA773E8^0' +'-4655FCD12C49B^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'608F532BE8073C^0' +'-4989355CFA6894^0' +'D624D1E760D67^0' +'-4655DFC395BD4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'60A4479121F074^0' +'-498D583D6C715^0' +'D61B41CFF2FAD8^0' +'-4651E1AD648A8C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'605CA9958F7338^0' +'-49A43CAB2DB8B^0' +'D63BA8E634FA1^0' +'-463980327165A8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'605CD3153DF4CC^0' +'-49A4ACD40DF1B8^0' +'D63B792ADB4E58^0' +'-4639633F94BC4C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6069BB2FC15D64^0' +'-499E5B7B220AD4^0' +'D635C9445C40D^0' +'-463FA4EDB10764^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6076EC2C63E3EC^0' +'-4998D7BE64C848^0' +'D62FC454F7A55^0' +'-4645AA74438008^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6076CCC558E664^0' +'-49987A34C6099^0' +'D62FE8A9F191B8^0' +'-4645C8C8F53D38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'449BB2C656F474^0' +'-516CEAC7BAA874^0' +'E0AC2B20DC6F4^0' +'-3D0021E673B7A8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'449BCE2085DA4^0' +'-516D9C594C9634^0' +'E0ABF18FE93A6^0' +'-3CFFEA218D47CC^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'449BD73D236684^0' +'-516D6AD64924B8^0' +'E0ABFC13084698^0' +'-3CFFFB41DB8D7E^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44B1C1B2432338^0' +'-5170F950A72B4C^0' +'E0A52A49F3C028^0' +'-3CFBAF0485C2A^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44B030D3005304^0' +'-51792072981BA^0' +'E0A0DDE6B52F5^0' +'-3D0263B675F07^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44B0669D63DEE8^0' +'-5179990AF45DF^0' +'E0A0B76BA09FE8^0' +'-3D0213C8D8886C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4500FE81A8B3D8^0' +'-515699C0DEED48^0' +'E08858BA869FC8^0' +'-3D2F78AE469058^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'45013EF97E1AB^0' +'-5156ACA3CFC5F8^0' +'E0883F1A70F768^0' +'-3D2F74E783F3C6^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4517043581FBC8^0' +'-515A326EA6652^0' +'E08170CD7275C^0' +'-3D2B2DCFD65254^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'45173CE3369A04^0' +'-515A06F9042C8^0' +'E081728674EDF8^0' +'-3D2B214515E18^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4517043581FBC8^0' +'-515A326EA6652^0' +'E08170CD7275C^0' +'-3D2B2DCFD65254^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'45175E50D1BBF4^0' +'-515A87CC568AA^0' +'E0814473C76D9^0' +'-3D2AF9470F0AA4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44E1C2786A50E4^0' +'-517225C74AADD8^0' +'E091C1F3623AD8^0' +'-3D0B710E15311E^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44E203381B5F38^0' +'-5172B515C1AD04^0' +'E09170EDD895^0' +'-3D0B92D984713E^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44E1C2786A50E4^0' +'-517225C74AADD8^0' +'E091C1F3623AD8^0' +'-3D0B710E15311E^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44F7FBB4BAF84^0' +'-517610047D48F4^0' +'E08AA66ED9E72^0' +'-3D074514FA12B4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44F7C2786180E^0' +'-5175BF2E662978^0' +'E08ADC0C0A92D8^0' +'-3D072C66DF3AF2^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44F83FF4B87D48^0' +'-51761071FF7FFC^0' +'E08AA6E2B87628^0' +'-3D06F5B6E5F5E6^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3840BCAAE0002C^9' +'3840BDC3200008^9' +'3840BEDADFFFD6^9' +'3840BFF31^9' +'3840C10B1FFFC8^9' +'384134FA700018^9' +'384136127FFFE^9' +'3841372A60001^9' +'38413842800008^9' +'3841395A600038^9' +'38413A728FFFE4^9' +'38413B8A5FFFE4^9' +'38413CA290000C^9' +'38413DBA90002^9' +'38413ED2800004^9' +'38413FEA800018^9' +'3841410280002C^9' +'3841421A7FFFC4^9' +'38414332900008^9' +'3841444A7FFFEC^9' +'3841456290003^9' +'3841467A800014^9' +'38414F3A700004^9' +'384150527FFFCC^9' +'3841516A5FFFFC^9' +'384152827FFFF4^9' +'3841539A600024^9' +'384154B280001C^9' +'384155CA7^9' +'384156E28FFFF8^9' +'384157FA700028^9' +'3841591290002^9' +'38415A2A60002^9' +'38415B42800018^9' +'38415C5A5FFFCA^9' +'38415D727FFFC4^9' +'38415E8A5FFFF2^9' +'38415FA27FFFEC^9' +'384160BA6FFFCE^9' +'384161D2800014^9' +'384162EA5FFFC4^9' +'3841640280003C^9' +'3841651A70001E^9' +'384166327FFFE6^9' +'3841723A5FFFE4^9' +'3841735290000C^9' +'3841746A60000C^9' +'38417582800004^9' +'3841769A600034^9' +'384177B280002C^9' +'384178CA5FFFDE^9' +'384179E2900008^9' +'38417AFA700038^9' +'38417C1290003^9' +'38417D2A6FFFE2^9' +'38417E428FFFDC^9' +'38417F5A5FFFD8^9' +'38418072900004^9' +'3841818A6^9' +'384182A290002C^9' +'384183BA600028^9' +'384184D28FFFD6^9' +'384185EA700004^9' +'384187027FFFCC^9' +'3841881A5FFFFC^9' +'384190DA60002^9' +'384191F2800018^9' +'3841930A5FFFCA^9' +'384194227FFFC4^9' +'3841953A5FFFF2^9' +'384196527FFFEC^9' +'3841976A6FFFCE^9' +'38419882800014^9' +'3841999A5FFFC4^9' +'38419AB280003C^9' +'38419BCA70001E^9' +'38419CE27FFFE6^9' +'38419DFA6FFFC8^9' +'38419F128FFFC2^9' +'3841A02A6FFFF^9' +'3841A1428FFFEA^9' +'3841A25A700018^9' +'3841A3727FFFE^9' +'3840BD27E0002C^9' +'3840BE40200008^9' +'3840BF57DFFFD6^9' +'3840C0701^9' +'3840C1881FFFC8^9' +'38413577700018^9' +'3841368F7FFFE^9' +'384137A760001^9' +'384138BF800008^9' +'384139D7600038^9' +'38413AEF8FFFE4^9' +'38413C075FFFE4^9' +'38413D1F90000C^9' +'38413E3790002^9' +'38413F4F800004^9' +'38414067800018^9' +'3841417F80002C^9' +'384142977FFFC4^9' +'384143AF900008^9' +'384144C77FFFEC^9' +'384145DF90003^9' +'384146F7800014^9' +'38414FB7700004^9' +'384150CF7FFFCC^9' +'384151E75FFFFC^9' +'384152FF7FFFF4^9' +'38415417600024^9' +'3841552F80001C^9' +'384156477^9' +'3841575F8FFFF8^9' +'38415877700028^9' +'3841598F90002^9' +'38415AA760002^9' +'38415BBF800018^9' +'38415CD75FFFCA^9' +'38415DEF7FFFC4^9' +'38415F075FFFF2^9' +'3841601F7FFFEC^9' +'384161376FFFCE^9' +'3841624F800014^9' +'384163675FFFC4^9' +'3841647F80003C^9' +'3841659770001E^9' +'384166AF7FFFE6^9' +'384172B75FFFE4^9' +'384173CF90000C^9' +'384174E760000C^9' +'384175FF800004^9' +'38417717600034^9' +'3841782F80002C^9' +'384179475FFFDE^9' +'38417A5F900008^9' +'38417B77700038^9' +'38417C8F90003^9' +'38417DA76FFFE2^9' +'38417EBF8FFFDC^9' +'38417FD75FFFD8^9' +'384180EF900004^9' +'384182076^9' +'3841831F90002C^9' +'38418437600028^9' +'3841854F8FFFD6^9' +'38418667700004^9' +'3841877F7FFFCC^9' +'384188975FFFFC^9' +'3841915760002^9' +'3841926F800018^9' +'384193875FFFCA^9' +'3841949F7FFFC4^9' +'384195B75FFFF2^9' +'384196CF7FFFEC^9' +'384197E76FFFCE^9' +'384198FF800014^9' +'38419A175FFFC4^9' +'38419B2F80003C^9' +'38419C4770001E^9' +'38419D5F7FFFE6^9' +'38419E776FFFC8^9' +'38419F8F8FFFC2^9' +'3841A0A76FFFF^9' +'3841A1BF8FFFEA^9' +'3841A2D7700018^9' +'3841A3EF7FFFE^9' +END_ARRAY 1 830 +TOTAL_ARRAYS 1 + ~NAIF/SPC BEGIN COMMENTS~ +This CK is for testing with the image: /home/pgiroux/Desktop/f004a47.cub + +This CK was generated using the following command: {} + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f004a47/vo1_v10.tf b/tests/pytests/data/f004a47/vo1_v10.tf new file mode 100644 index 0000000000000000000000000000000000000000..0ce54d5df53a7c50b1257e28f7d0ac9fb7ad9ffb --- /dev/null +++ b/tests/pytests/data/f004a47/vo1_v10.tf @@ -0,0 +1,470 @@ +KPL/FK + +Viking Orbiter 1 Frames Kernel +=============================================================================== + + This frame kernel contains the complete set of frame definitions for + the Viking Orbiter 1 (VO1) spacecraft including definitions for the + spacecraft frame, instrument platform frame, and science instrument + frames. + + +Version and Date +------------------------------------------------------------------------------- + + Version 1.0 -- December 1, 2005 -- Boris Semenov, NAIF + + Initial Release. + + +References +------------------------------------------------------------------------------- + + 1. ``Frames Required Reading'' + + 2. ``Kernel Pool Required Reading'' + + 3. ``C-Kernel Required Reading'' + + 4. VO1 Supplemental Experiment Data Record (SEDR) file, 1976-1980. + + 5. Thomas C. Duxbury/JPL, March-July, 1996 + + +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 frame kernel must `load' the kernel, normally during + program initialization. The SPICELIB/CSPICE/ICY routine FURNSH loads + a kernel file into the pool as shown below. + + CALL FURNSH ( 'frame_kernel_name' ) SPICELIB/FORTRAN + + furnsh_c ( "frame_kernel_name" ); CSPICE/C + + cspice_furnsh, "frame_kernel_name" ICY/IDL + + This file was created and may be updated with a text editor or word + processor. + + +VO1 Frames +------------------------------------------------------------------------------- + + The following VO1 frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== =================== ============ ======= + + Spacecraft frame: + ----------------- + VO1_SPACECRAFT rel.to B1950 CK -27900 + + Instrument Platform frame: + -------------------------- + VO1_PLATFORM rel.to B1950 CK -27000 + + Science Instrument frames: + -------------------------- + VO1_VISA rel.to PLATFORM FIXED -27001 + VO1_VISA_TD rel.to PLATFORM FIXED -27011 + VO1_VISB rel.to PLATFORM FIXED -27002 + VO1_VISB_TD rel.to PLATFORM FIXED -27012 + VO1_IRTM rel.to PLATFORM FIXED -27003 + VO1_MAWD rel.to PLATFORM FIXED -27004 + + +VO1 Frames Hierarchy +------------------------------------------------------------------------------- + + The diagram below shows VO1 frames hierarchy: + + + "B1950" INERTIAL + +-----------------------------------------------------------+ + | | | | + | <--pck | <--ck | <--ck | <--pck + | | | | + V V | V + "IAU_MARS" "V01_SPACECRAFT" | "IAU_EARTH" + ----------- ---------------- | ------------ + | + | + V + "VO1_PLATFORM" + +---------------------------------------------------------+ + | | | | | | + | <--fixed | <--fixed fixed--> | | | | <--fixed + | | | | | | + V V V | | V + "VO1_IRTM" "VO1_MAWD" "VO1_VISA" | | "VO1_VISB" + ---------- ---------- ---------- | | ---------- + | | + | | + fixed--> | | <--fixed + | | + V V + "VO1_VISA_TD" "VO1_VISB_TD" + ------------- ------------- + + +Spacecraft Bus Frame +------------------------------------------------------------------------------- + + The spacecraft frame is defined as follows: + + [TBD] + + This diagram illustrates the spacecraft bus frame: + + [TBD] + + 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_VO1_SPACECRAFT = -27900 + FRAME_-27900_NAME = 'VO1_SPACECRAFT' + FRAME_-27900_CLASS = 3 + FRAME_-27900_CLASS_ID = -27900 + FRAME_-27900_CENTER = -27 + CK_-27900_SCLK = -27 + CK_-27900_SPK = -27 + + \begintext + + +Instrument Platform Frame +------------------------------------------------------------------------------- + + The instrument platform frame is defined as follows: + + [TBD] + + This diagram illustrates the instrument platform frame: + + [TBD] + + Since the platform 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_VO1_PLATFORM = -27000 + FRAME_-27000_NAME = 'VO1_PLATFORM' + FRAME_-27000_CLASS = 3 + FRAME_-27000_CLASS_ID = -27000 + FRAME_-27000_CENTER = -27 + CK_-27000_SCLK = -27 + CK_-27000_SPK = -27 + + \begintext + + +VISA and VISB Frames +------------------------------------------------------------------------------- + + The frames for the Visual Imaging Subsystem Camera A (VISA) and + Camera B (VISB) -- VO1_VISA and VO1_VISB -- are defined as follows: + + - Z axis is along the camera boresight; + + - X axis is along detector lines and points toward the right + side of the image; + + - Y axis completes the right hand frame; + + - the origin of this frame is located at the camera focal point. + + This diagram illustrates the camera frames: + + [TBD] + + Since the cameras were rigidly mounted on the instrument platform + their frames are defined as fixed offset frames with respect to the + platform frame. + + The camera orientation with respect to the platform was specified in + [4] as the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the following angle values for each of the two cameras: + + VISA: + + CROSS_CONE = -0.707350, deg + CONE = -0.007580, deg + RASTER_ORIENTATION = 89.735690, deg + + VISB: + + CROSS_CONE = 0.681000, deg + CONE = -0.032000, deg + RASTER_ORIENTATION = 90.022800, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO1_VISA = -27001 + FRAME_-27001_NAME = 'VO1_VISA' + FRAME_-27001_CLASS = 4 + FRAME_-27001_CLASS_ID = -27001 + FRAME_-27001_CENTER = -27 + TKFRAME_-27001_SPEC = 'ANGLES' + TKFRAME_-27001_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27001_ANGLES = ( -0.707350, 0.007580, -89.735690 ) + TKFRAME_-27001_AXES = ( 1, 2, 3 ) + TKFRAME_-27001_UNITS = 'DEGREES' + + FRAME_VO1_VISB = -27002 + FRAME_-27002_NAME = 'VO1_VISB' + FRAME_-27002_CLASS = 4 + FRAME_-27002_CLASS_ID = -27002 + FRAME_-27002_CENTER = -27 + TKFRAME_-27002_SPEC = 'ANGLES' + TKFRAME_-27002_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27002_ANGLES = ( 0.681000, 0.032000, -90.022800 ) + TKFRAME_-27002_AXES = ( 1, 2, 3 ) + TKFRAME_-27002_UNITS = 'DEGREES' + + \begintext + + Thomas Duxbury provided a different set of angle values for the cameras + (see [5]): + + VISA: + + CROSS_CONE = -0.707400, deg + CONE = -0.007600, deg + RASTER_ORIENTATION = 89.735400, deg + + VISB: + + CROSS_CONE = 0.681300, deg + CONE = -0.032100, deg + RASTER_ORIENTATION = 90.083900, deg + + To make this alignment solution available, two more frames parallel + to the camera frames and including the ``_TB'' suffix in the name + and defined below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO1_VISA_TD = -27011 + FRAME_-27011_NAME = 'VO1_VISA_TD' + FRAME_-27011_CLASS = 4 + FRAME_-27011_CLASS_ID = -27011 + FRAME_-27011_CENTER = -27 + TKFRAME_-27011_SPEC = 'ANGLES' + TKFRAME_-27011_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27011_ANGLES = ( -0.707400, 0.007600, -89.735400 ) + TKFRAME_-27011_AXES = ( 1, 2, 3 ) + TKFRAME_-27011_UNITS = 'DEGREES' + + FRAME_VO1_VISB_TD = -27012 + FRAME_-27012_NAME = 'VO1_VISB_TD' + FRAME_-27012_CLASS = 4 + FRAME_-27012_CLASS_ID = -27012 + FRAME_-27012_CENTER = -27 + TKFRAME_-27012_SPEC = 'ANGLES' + TKFRAME_-27012_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27012_ANGLES = ( 0.681300, 0.032100, -90.083900 ) + TKFRAME_-27012_AXES = ( 1, 2, 3 ) + TKFRAME_-27012_UNITS = 'DEGREES' + + \begintext + + +IRTM Frame +------------------------------------------------------------------------------- + + The frame for the Infrared Thermal Mapper -- VO1_IRTM -- is defined + as follows: + + [TBD] + + This diagram illustrates the IRTM frame: + + [TBD] + + Since the IRTM instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO1_IRTM = -27003 + FRAME_-27003_NAME = 'VO1_IRTM' + FRAME_-27003_CLASS = 4 + FRAME_-27003_CLASS_ID = -27003 + FRAME_-27003_CENTER = -27 + TKFRAME_-27003_SPEC = 'ANGLES' + TKFRAME_-27003_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27003_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-27003_AXES = ( 1, 2, 3 ) + TKFRAME_-27003_UNITS = 'DEGREES' + + \begintext + + +MAWD Frame +------------------------------------------------------------------------------- + + The frame for the Mars Atmosphere Water Detector (MAWD) -- VO1_MAWD + -- is defined as follows: + + [TBD] + + This diagram illustrates the MAWD frame: + + [TBD] + + Since the MAWD instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO1_MAWD = -27004 + FRAME_-27004_NAME = 'VO1_MAWD' + FRAME_-27004_CLASS = 4 + FRAME_-27004_CLASS_ID = -27004 + FRAME_-27004_CENTER = -27 + TKFRAME_-27004_SPEC = 'ANGLES' + TKFRAME_-27004_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27004_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-27004_AXES = ( 1, 2, 3 ) + TKFRAME_-27004_UNITS = 'DEGREES' + + \begintext + + +Viking Orbiter 1 NAIF ID Codes -- Definition Section +======================================================================== + + This section contains name to NAIF ID mappings for the VO1. 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 and its structures: + ------------------------------ + + VIKING ORBITER 1 -27 + VO1 -27 + + VO1_SPACECRAFT_BUS -27900 + VO1_SC_BUS -27900 + VO1_SPACECRAFT -27900 + + VO1_INSTRUMENT_PLATFORM -27000 + VO1_PLATFORM -27000 + + Science Instruments: + -------------------- + + VO1_VISA -27001 + VO1_VISB -27002 + + VO1_IRTM -27003 + + VO1_MAWD -27004 + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'VIKING ORBITER 1' ) + NAIF_BODY_CODE += ( -27 ) + + NAIF_BODY_NAME += ( 'VO1' ) + NAIF_BODY_CODE += ( -27 ) + + NAIF_BODY_NAME += ( 'VO1_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -27900 ) + + NAIF_BODY_NAME += ( 'VO1_SC_BUS' ) + NAIF_BODY_CODE += ( -27900 ) + + NAIF_BODY_NAME += ( 'VO1_SPACECRAFT' ) + NAIF_BODY_CODE += ( -27900 ) + + NAIF_BODY_NAME += ( 'VO1_INSTRUMENT_PLATFORM' ) + NAIF_BODY_CODE += ( -27000 ) + + NAIF_BODY_NAME += ( 'VO1_PLATFORM' ) + NAIF_BODY_CODE += ( -27000 ) + + NAIF_BODY_NAME += ( 'VO1_VISA' ) + NAIF_BODY_CODE += ( -27001 ) + + NAIF_BODY_NAME += ( 'VO1_VISB' ) + NAIF_BODY_CODE += ( -27002 ) + + NAIF_BODY_NAME += ( 'VO1_IRTM' ) + NAIF_BODY_CODE += ( -27003 ) + + NAIF_BODY_NAME += ( 'VO1_MAWD' ) + NAIF_BODY_CODE += ( -27004 ) + + \begintext diff --git a/tests/pytests/data/f004b65/f004b65_0.xsp b/tests/pytests/data/f004b65/f004b65_0.xsp new file mode 100644 index 0000000000000000000000000000000000000000..54652f23fcb2d432d0fca3d0d7563ec758dfcbfb --- /dev/null +++ b/tests/pytests/data/f004b65/f004b65_0.xsp @@ -0,0 +1,706 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/SPK ' +'2' +'6' +'SPKMERGE ' +BEGIN_ARRAY 1 39 +'DE-0721LE-0721 ' +'-2BFE07FA3A1D38^8' +'-2BFDFCFA8D5078^8' +'A' +'0' +'1' +'2' +39 +'-2C00B8C^8' +'A8C^5' +'-14091ED46CC407^5' +'1E2FD6E41E319E^4' +'E85ACADB77B7F^1' +'25A3B641E1EAAC^-1' +'A8E7A7C3CD0A08^-2' +'-1734554746EA2B^-3' +'AA578CDDD22198^-4' +'-163554A5F66A6F^-4' +'21A6FF059C37AE^-5' +'-238B2F8C07C5E2^-6' +'1192BEA297C04B^-7' +'-78898540556C78^5' +'-10FC81DB0AFADF^4' +'12DCBF60AB27E3^2' +'-127BB1275A0CC9^0' +'8DA7DA948F7FC8^-2' +'-5F4CD843A7E704^-3' +'BDA3229EC85CB8^-4' +'-67BFF958750CE4^-5' +'-5E2D59EBF1F224^-6' +'209D16633310E4^-6' +'-435E0A8F217944^-7' +'-33C5B327552E02^5' +'-8343110E36F3C^3' +'7E52A1E2027D18^1' +'-98089D3F6A2A78^-1' +'3E33878A1B4BAA^-2' +'-3736C2B268888A^-3' +'52B6BD204D444C^-4' +'-11D5BBC52DA729^-5' +'-6A311EB04CCFEC^-6' +'151970210867D2^-6' +'-25E6F1A3196848^-7' +'-2C0B44C^8' +'1518^6' +'23^2' +'1^1' +END_ARRAY 1 39 +BEGIN_ARRAY 2 39 +'DE-0721LE-0721 ' +'-2BFE07FA3A1D38^8' +'-2BFDFCFA8D5078^8' +'4' +'0' +'1' +'2' +39 +'-2BF62CC^8' +'1518^6' +'-DF878892D6401^7' +'9718448DF9C868^6' +'FBA79F5520B038^5' +'-C05DDD555E20D^3' +'-1425CD9C184653^3' +'-32C39258A075C2^1' +'-A45D97977ADA68^-1' +'2A05DF0531F4B6^-2' +'1DC17AC24B98E9^-3' +'-1EDD64DF08258F^-4' +'-2206DB059D381A^-5' +'-38DF87DDF839C8^7' +'-1971215E6F7983^7' +'3FA6791020B828^5' +'50642D9C35FD2^4' +'2FD1DB0728D962^2' +'-1CF5075C808D43^1' +'-F7F83D189319B8^-1' +'-5A3422DA6D88B8^-2' +'-16A87C7EA397CB^-3' +'-B360CAB15246A^-5' +'4391215DCC0CF8^-5' +'-14048B5C171D98^7' +'-BECBF32F4ED56^6' +'1660286274D01^5' +'2532AB0160F3B4^4' +'1EA9FAB72692C6^2' +'-BE927DF96A2FB8^0' +'-6D3178EAC5977^-1' +'-29F868D24B7448^-2' +'-B66A385488D268^-4' +'-7CFA793BDE605C^-5' +'208B3FE003EFB8^-5' +'-2C0B44C^8' +'2A3^6' +'23^2' +'1^1' +END_ARRAY 2 39 +BEGIN_ARRAY 3 54 +'MAR097 ' +'-2BFE07FA3A1D38^8' +'-2BFDFCFA8D5078^8' +'1F3' +'4' +'1' +'3' +54 +'-2BFDEB9^8' +'2A3^4' +'61BE922C509C9^-4' +'-194A2F2E343BC1^-3' +'-78D71D95884048^-3' +'15114C37207C8F^-3' +'1335B0D59627CE^-3' +'-161B50E8D0E778^-4' +'-108FEE361F01BE^-4' +'-69696091F0CAC^-6' +'-2EDFFE465DF8B8^-3' +'85B6817AC833C8^-3' +'-451B37DA5A649^-3' +'-335DD079D7AEF2^-3' +'ADB5A5E88BCA^-4' +'49963554FE18C8^-4' +'-67C5A6980E65E8^-5' +'-3181A861F1236^-5' +'-1A205858DF8E7E^-3' +'566C973D571948^-3' +'1DB964D092DCD4^-3' +'-27022C16DEFBAE^-3' +'-4D3E56D8240F44^-4' +'3365727B693D4C^-4' +'5B1B5AD52CEB6^-5' +'-16B93F7BBC657^-5' +'BB0C173BD49498^-7' +'-81BF1A4A585F9^-6' +'2A904CCE9A3A66^-6' +'35929D04F80802^-6' +'-56072D46377394^-7' +'-4B6065162B443C^-7' +'-22FB25BC60983C^-8' +'0^0' +'79EA6CE63256^-8' +'-49BDBFA087265^-6' +'-6478A41E1262A4^-6' +'1F187C12A38B46^-6' +'106A7DF60CC07F^-6' +'-1D8473A744F2E4^-7' +'-106DC6DBDB35D6^-7' +'0^0' +'-5C003C9CCD7F2^-7' +'201091ABE2FF2^-6' +'-4D0DF100B4B07C^-6' +'-D0729C7E62E7F^-7' +'BB625F4C2BD29^-7' +'19EA32DE337627^-7' +'-78A76EA7BF5AB^-8' +'0^0' +'-2BFE15C^8' +'546^4' +'32^2' +'1^1' +END_ARRAY 3 54 +BEGIN_ARRAY 4 505 +'09aug76 ' +'-2BFE07FA3A1D38^8' +'-2BFDFCFA8D5078^8' +'-1E' +'4' +'E' +'1' +505 +'-2BFE0511CD7FC8^8' +'38C06AAFE3^2' +'7180D55FC6^2' +'AA41400FA9^2' +'E301AABF8C^2' +'11BC2156F6F^3' +'18D42EACF358^3' +'1FEC3C02EFC^3' +'27044958EC28^3' +'2E1C56AEE89^3' +'35346404E4F8^3' +'3C4C715AE16^3' +'43647EB0DDC8^3' +'4A7C8C06DA3^3' +'5194995CD698^3' +'58ACA6B2D3^3' +'F97D6C1861EAF^3' +'12459F675FD6B2^1' +'-E6178419391BD^3' +'197FAFA0E2745E^1' +'-8CBEA08185DFA8^3' +'2F64F5DCBE9AF4^1' +'-37315199802532^-2' +'-3049B3B0B8ED68^-3' +'-197A601BA51497^-4' +'15ED44250FA4C5^-5' +'6F425913EC5F74^-6' +'E5B475F5B582D^-7' +'E3017A8D952B38^-8' +'-43C0EF89A8D768^-8' +'-24BAE33C653CB2^-8' +'-AB2D99866E1E78^-9' +'-1D3AFCFA66E9E1^-9' +'2F43184E7A377^-A' +'52B4313ACD19F8^-A' +'2604879C84C3B^-A' +'3017C^-B' +'32EC0E333F02E2^-2' +'C9E89B030045B^-4' +'-10C277357BA07C^-4' +'-2F01B177BDBFD^-5' +'-41ACA99A8D0DF8^-6' +'-8D7741BADE081^-8' +'15D565DDE5539C^-7' +'6ECFCDFA4B5D18^-8' +'15B0E276DF76BE^-8' +'159116EA2F6DDC^-9' +'-13F8E8388867D6^-9' +'-C3404EFC1CA288^-A' +'-3CF30EFFCAFD78^-A' +'1931A603C25D1B^-A' +'0^0' +'1F197B5C13E953^-2' +'-105D9240D8FD52^-3' +'-28A396ED46F94A^-4' +'-30F826B0CFF256^-5' +'-C22E862BF8A4A8^-7' +'94C108DF6B4878^-7' +'27F73C9410BB^-7' +'692EFE2951074C^-8' +'43AB84046117^-9' +'-59CC0A95B621E8^-9' +'-304310BBE37788^-9' +'-F683CAFC36471^-A' +'-28FD1928AC7E8E^-A' +'A477EA477E3B5^-B' +'AAA06^-B' +'F^1' +'E^1' +'D^1' +'E^1' +'-2BFE02A188EA38^8' +'38C06AAFE3^2' +'7180D55FC6^2' +'AA41400FA9^2' +'E301AABF8C^2' +'11BC2156F6F^3' +'15482801F52^3' +'18D42EACF35^3' +'1C603557F18^3' +'1FEC3C02EFB^3' +'237842ADEDE^3' +'27044958EC1^3' +'2A905003EA4^3' +'2E1C56AEE87^3' +'31A85D59E6A^3' +'38C06AAFE308^3' +'11994D8EB00BAE^4' +'71F72F6E0E0644^0' +'-9E244E4223E7C8^3' +'21873175849D7E^1' +'-14827AD2A00212^3' +'32988BA4597BEE^1' +'-5B1DF1213B3AD8^-2' +'-31467BEEB48DC8^-3' +'1F31A48647430A^-4' +'8828204A1EB688^-5' +'8E55BFF8753768^-6' +'-17CF3474C5ADC8^-6' +'-843F8C46091C7^-7' +'-B528156DE418E8^-8' +'529CA959FD98F8^-8' +'2A092DDA96ADF8^-8' +'4BE9460E3C037^-9' +'-7B7171^-9' +'-83B8F5C^-9' +'-558E9C8^-9' +'0^0' +'3339423313A06^-2' +'-E22B2197238C9^-4' +'-399ACEA0479764^-4' +'-32604500E04146^-5' +'694D2ADEC48FA^-6' +'1FB97F6841C749^-6' +'26A4BB01DA8072^-7' +'-D5F17C0C412E98^-8' +'-5C329303C79DD^-8' +'-86BC9247BB07B8^-9' +'B9892B6B475808^-9' +'9D14EDF5DAA06^-9' +'43AC5FA^-9' +'D741C^-B' +'0^0' +'6837A95B55F79^-3' +'-35947323D5988^-3' +'-38DD1FF3E941A6^-4' +'1A541AF368206E^-5' +'F30BB0FB6D84A^-6' +'1A636785D9E044^-6' +'-28F0538E550FF8^-7' +'-1993D6FB9473A8^-7' +'-37CB8D3CDCE23C^-8' +'17F98A0B81ACDC^-8' +'13B8F03C151842^-8' +'62894F04^-9' +'-66B469^-9' +'0^0' +'0^0' +'E^1' +'D^1' +'D^1' +'C^1' +'-2BFE0130A634C2^8' +'1C603557F18^2' +'38C06AAFE3^2' +'5520A007D48^2' +'7180D55FC6^2' +'8DE10AB7B78^2' +'AA41400FA9^2' +'C6A175679A8^2' +'FF61E0177D8^2' +'138224AC7608^3' +'170E2B577438^3' +'1A9A32027268^3' +'1E2638AD7098^3' +'21B23F586EC8^3' +'253E46036CF8^3' +'28CA4CAE6B28^3' +'11D8E7F35026BA^4' +'-1D3B47A0EF0206^0' +'-6AB394466E0044^3' +'25B1BF028CDE1^1' +'344A523E092668^3' +'320E1ECC4D4872^1' +'-69B88AE5FE6464^-2' +'-AB806F98216578^-4' +'170536A6F0283A^-4' +'E126077059D788^-6' +'-103A85434268A^-6' +'-20D8539F0824F8^-7' +'7DDBCC90E7843C^-9' +'774943F3640A08^-9' +'1065E2090F5E39^-9' +'-1290556FF903A2^-A' +'-3C91ADF4CCCCCC^-A' +'0^0' +'0^0' +'0^0' +'0^0' +'27943FDC85DD28^-2' +'-141906E3926759^-3' +'-E872A5DEACE968^-5' +'66AD29B4E7EE7^-6' +'11E7971C2CFCCB^-6' +'19D0994651BF32^-8' +'-27716C571C1D86^-8' +'-3B7F3356476CBC^-9' +'3647BCD6C5BF2A^-A' +'46FC3645625134^-A' +'1E323A09265D3C^-A' +'-BB0271801527^-C' +'-A0FEC2B50F7578^-B' +'-5773E^-B' +'0^0' +'-1387EA04A1A5A1^-2' +'-22DCA00D0A5FBE^-3' +'-3C361982E54E12^-5' +'12974D0A7CAA16^-5' +'D25CAB6230D67^-7' +'-14D5441A988592^-7' +'-31C53CC4A30266^-8' +'167590357689E^-A' +'12F6CE9BEC45B^-9' +'5F3F71D602F9B8^-A' +'3DC7E1624BAF2^-B' +'-138F14C77D1C68^-A' +'-B0907F82E00278^-B' +'1824D^-B' +'0^0' +'E^1' +'A^1' +'D^1' +'D^1' +'-2BFE0014E41F52^8' +'1C603557F18^2' +'38C06AAFE3^2' +'5520A007D48^2' +'7180D55FC6^2' +'8DE10AB7B78^2' +'AA41400FA9^2' +'C6A175679A8^2' +'E301AABF8C^2' +'FF61E0177D8^2' +'11BC2156F6F^3' +'138224AC7608^3' +'15482801F52^3' +'170E2B577438^3' +'1A9A32027268^3' +'1FEC3C02EFB^3' +'1176C8A23BB7BC^4' +'-940BE7973C9E18^0' +'-3F94A89944FA82^3' +'27EF6CD718E7C6^1' +'6ABE553FFE10A4^3' +'2FF2C375E1E19E^1' +'-6AF34B019C737C^-2' +'5842A4512CF3D8^-4' +'1AE60EB2AD7DA7^-4' +'-14EC6E431DEEAA^-6' +'-1C647C819BA785^-6' +'-2FA811A6D48E14^-8' +'4378D5098B1B3^-8' +'1085C727634F5F^-9' +'-14932A9AA63525^-9' +'1AA8AFA7955F26^-A' +'17DF7CA2E8BA2F^-A' +'-5CD54^-B' +'0^0' +'0^0' +'0^0' +'186D321415B062^-2' +'-1AE7B2EADFCF4E^-3' +'-71253E61D8DCA^-5' +'F8F9191C25739^-6' +'97B2991C4A2288^-7' +'-183E8A0F68E3CF^-7' +'-1C3D983CE3A362^-8' +'4F6F6A379396C4^-9' +'70CA4B2CE58878^-A' +'-395115BDE76348^-A' +'-192CE78D7F971^-B' +'8B2B2^-B' +'0^0' +'0^0' +'0^0' +'-2909E89D6039A6^-2' +'-20D228F5F40BFE^-3' +'91F31EF79941C^-5' +'144E972122357F^-5' +'-6F89B42F7D0E44^-7' +'-23319AB71BBC5C^-7' +'98B3240221F37^-9' +'770C2F652EC7B^-9' +'-670C5299C66108^-A' +'-3871D5E3015374^-A' +'133C69E682DF3C^-A' +'78A8E^-B' +'-34DFC^-B' +'C292^-C' +'0^0' +'E^1' +'B^1' +'B^1' +'D^1' +'-2BFDFF31E27492^8' +'1C603557F18^2' +'38C06AAFE3^2' +'5520A007D48^2' +'7180D55FC6^2' +'8DE10AB7B78^2' +'AA41400FA9^2' +'C6A175679A8^2' +'E301AABF8C^2' +'FF61E0177D8^2' +'11BC2156F6F^3' +'138224AC7608^3' +'15482801F52^3' +'170E2B577438^3' +'18D42EACF35^3' +'1C603557F18^3' +'10CA1606687D98^4' +'-F084F3EFBCD988^0' +'-1BAE6F78DE9C63^3' +'28E77CD3F79784^1' +'9420444AC44F58^3' +'2D40A80523B9F^1' +'-64961E97B09CB^-2' +'11FBFC4DA1BD08^-3' +'167DDF8DF01FD3^-4' +'-E0BDB10F8C5F18^-6' +'-1518F1BFFAF596^-6' +'1A7080BEC7A47A^-7' +'2DAA8292A64442^-8' +'-5107D017A6FDE^-9' +'-A9B8336DB8592^-A' +'-4817086F643BF^-B' +'E9D8^-C' +'0^0' +'0^0' +'0^0' +'0^0' +'A768B491D5EBE^-3' +'-1C1C147C778344^-3' +'140C5CB67C6699^-5' +'107CBB4F9E6859^-5' +'-4280A675C3CF2^-7' +'-1A9C9CFC4A67B8^-7' +'D29C66AF6355C^-9' +'4F60A485B54258^-9' +'-1AB080C5B6551F^-A' +'-9A4B6^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'-37A1812E588B9^-2' +'-19C4A7A4228AAE^-3' +'1163409B8C6D55^-4' +'CA57E7F20E4DD8^-6' +'-146F34CB6F4AEB^-6' +'-11B33EC7277DE1^-7' +'3202FCCBEF2F3^-8' +'3418301BF5F7B8^-9' +'-93031D2DEC777^-A' +'-1427C4956D38D^-A' +'-B599A^-B' +'2E74A197D20C4^-B' +'0^0' +'0^0' +'0^0' +'C^1' +'A^1' +'9^1' +'B^1' +'-2BFDFE16205F22^8' +'1C603557F18^2' +'38C06AAFE3^2' +'5520A007D48^2' +'7180D55FC6^2' +'8DE10AB7B78^2' +'AA41400FA9^2' +'C6A175679A8^2' +'E301AABF8C^2' +'FF61E0177D8^2' +'11BC2156F6F^3' +'138224AC7608^3' +'15482801F52^3' +'170E2B577438^3' +'18D42EACF35^3' +'1A9A32027268^3' +'F8478FE99C543^3' +'-158307F49D5A69^1' +'11D7348475383^3' +'290ADE5EBCC4D4^1' +'C3F8C253AF0BC8^3' +'28F0A5199BD012^1' +'-557053DB609B08^-2' +'1C3C7A8CA9AA3^-3' +'AE75CB63EE6158^-5' +'-143995D31646DB^-5' +'-6170EB789200C^-8' +'20390C4866EADC^-7' +'-143ABB24B057C9^-8' +'-58F2A7CC28BE78^-9' +'9A4CCF4CA9016^-A' +'19C3CF7909BC4^-A' +'-7D044^-B' +'-DCB4^-C' +'0^0' +'0^0' +'0^0' +'-60A3C490ED624^-3' +'-1840924CE2C4A1^-3' +'981EE8DB4B5678^-5' +'996CF991598D8^-6' +'-EAA270A68A03D^-7' +'-69DC8CE32202E4^-8' +'268BB83425528C^-8' +'-517158F5CB2D6^-A' +'-A6C7168DB6552^-A' +'9BF1618^-B' +'56CFDD^-B' +'0^0' +'0^0' +'0^0' +'0^0' +'-438FD27941FA48^-2' +'-D5F37AB582B4D8^-4' +'14893E291E638E^-4' +'-10F9618147DF76^-6' +'-1432807934F3FE^-6' +'D96D0A1E2E391^-8' +'25F7D442213F86^-8' +'-46A24222654638^-9' +'-726BF30430AF9^-A' +'2217736A92C73^-A' +'19B92^-B' +'-2EA68^-B' +'-76BC^-C' +'0^0' +'0^0' +'D^1' +'B^1' +'A^1' +'C^1' +'-2BFDFBDE9C3444^8' +'38C06AAFE3^2' +'7180D55FC6^2' +'AA41400FA9^2' +'E301AABF8C^2' +'11BC2156F6F^3' +'15482801F52^3' +'18D42EACF35^3' +'1C603557F18^3' +'1E2638AD7098^3' +'1FEC3C02EFB^3' +'21B23F586EC8^3' +'237842ADEDE^3' +'253E46036CF8^3' +'27044958EC1^3' +'28CA4CAE6B28^3' +'BD658485F5D81^3' +'-1EBBC341D1982B^1' +'6A97DC2D4B1B2C^3' +'268C0F53834436^1' +'113EAFB4C16F68^4' +'1F242B55B582BB^1' +'-2FE33B775F79DA^-2' +'38C3C26F4B1984^-3' +'-1A76B56B445D6C^-4' +'-40A2234B493AA^-5' +'D3E1E6EE869E98^-6' +'-6DC448F679489^-7' +'-5A393082FD1728^-7' +'14145256598EB7^-7' +'1946C24DC0E467^-8' +'-1C146E7EA13A8B^-8' +'3B1A4B210B565C^-9' +'27D4D5E444443^-9' +'-BDD0483F1565C^-A' +'-D180FC^-A' +'0^0' +'-1ADD7F8B18AC5E^-2' +'-1404D85FE805BD^-3' +'2C95474FFDACD^-4' +'-1E232A91C155FB^-5' +'-621E86C755BEB^-6' +'17EE9243616981^-6' +'-93C9AEA13D64A^-8' +'-F46F1735B2D84^-8' +'36A2D8D1B2BB9C^-8' +'6BDB16B64C4D8C^-9' +'-67EEB18133702C^-9' +'A9D3CFF4A9799^-A' +'FA2631^-A' +'128669^-A' +'0^0' +'-45CAD8D934DC2^-2' +'C3824460B4EDD8^-4' +'2A3BC4D5456B98^-4' +'-55FCB133996818^-5' +'E235B2467E142^-7' +'1BBEA54862944^-6' +'-4B0537303BCEE4^-7' +'-6DC7CDDB1B20C^-8' +'599E561EC7A5F^-8' +'-962619419F9658^-9' +'-593EBD334279CC^-9' +'229C0AB29A6F78^-9' +'ACD89C^-A' +'-30B294^-A' +'0^0' +'E^1' +'D^1' +'D^1' +'D^1' +'-2BFE0511CD7FB6^8' +'-2BFE02A188E9F6^8' +'-2BFE0130A63498^8' +'-2BFE0014E41F22^8' +'-2BFDFF31E2747E^8' +'-2BFDFE16205F06^8' +'-2BFDFBDE9C341A^8' +'7^1' +END_ARRAY 4 505 +TOTAL_ARRAYS 4 + ~NAIF/SPC BEGIN COMMENTS~ +; /home/pgiroux/Desktop/f004b65/f004b65_0.bsp LOG FILE + +; Created 2019-09-30/11:09:12.00. +; +; BEGIN SPKMERGE COMMANDS + +LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls + +SPK_KERNEL = /home/pgiroux/Desktop/f004b65/f004b65_0.bsp + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/spk/mar097.bsp + INCLUDE_COMMENTS = NO + BODIES = 4, 10, 499 + BEGIN_TIME = 1976 AUG 12 00:57:58.590 + END_TIME = 1976 AUG 12 01:44:54.265 + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/viking2/kernels/spk/vo2_rcon.bsp + INCLUDE_COMMENTS = NO + BODIES = -30 + BEGIN_TIME = 1976 AUG 12 00:57:58.590 + END_TIME = 1976 AUG 12 01:44:54.265 + +; END SPKMERGE COMMANDS + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f004b65/f004b65_isis3.lbl b/tests/pytests/data/f004b65/f004b65_isis3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..c0f4dfc4b386e831a7d43659d60954eaffed5148 --- /dev/null +++ b/tests/pytests/data/f004b65/f004b65_isis3.lbl @@ -0,0 +1,103 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 1204 + TileLines = 1056 + + Group = Dimensions + Samples = 1204 + Lines = 1056 + Bands = 1 + End_Group + + Group = Pixels + Type = UnsignedByte + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = VIKING_ORBITER_2 + InstrumentId = VISUAL_IMAGING_SUBSYSTEM_CAMERA_A + TargetName = MARS + StartTime = 1976-08-12T01:28:18 + ExposureDuration = 0.033940 <seconds> + SpacecraftClockCount = 46570746 + FloodModeId = ON + GainModeId = HIGH + OffsetModeId = ON + End_Group + + Group = Archive + DataSetId = VO1/VO2-M-VIS-2-EDR-V2.0 + ProductId = 004B65 + MissonPhaseName = PRIMARY_MISSION + ImageNumber = 46570746 + OrbitNumber = 4 + End_Group + + Group = BandBin + FilterName = GREEN + FilterId = 5 + Center = 0.53 <micrometers> + Width = 0.1 <micrometers> + End_Group + + Group = Kernels + NaifFrameCode = -30001 + CameraVersion = 1 + End_Group + + Group = Reseaus + Line = (2, 6, 9, 12, 14, 15, 17, 18, 20, 21, 22, 131, 132, 135, 138, + 140, 142, 143, 145, 146, 147, 149, 150, 260, 263, 265, 267, + 269, 271, 272, 274, 275, 277, 278, 389, 390, 393, 395, 397, + 398, 400, 401, 403, 404, 406, 407, 518, 520, 523, 524, 526, + 528, 529, 531, 532, 534, 536, 647, 648, 650, 652, 654, 656, + 657, 658, 660, 661, 663, 664, 776, 778, 780, 782, 783, 785, + 786, 788, 789, 791, 793, 905, 906, 908, 910, 911, 913, 914, + 915, 917, 918, 920, 921, 1034, 1035, 1037, 1039, 1040, 1041, + 1043, 1044, 1045, 1046, 1049) + Sample = (25, 142, 259, 375, 491, 606, 722, 838, 953, 1069, 1184, 25, + 84, 200, 316, 432, 548, 663, 778, 894, 1009, 1124, 1181, 25, + 142, 258, 374, 489, 604, 720, 835, 950, 1065, 1180, 26, 84, + 200, 316, 431, 546, 662, 777, 892, 1007, 1122, 1179, 26, 142, + 258, 373, 489, 604, 719, 834, 949, 1064, 1179, 26, 84, 200, + 316, 431, 546, 661, 776, 891, 1006, 1121, 1177, 25, 142, 257, + 373, 488, 603, 718, 833, 948, 1063, 1177, 24, 83, 199, 315, + 430, 545, 660, 775, 890, 1005, 1120, 1177, 23, 140, 256, 371, + 487, 602, 717, 832, 947, 1062, 1176) + Type = (1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6) + Valid = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + Template = $viking2/reseaus/vo2.visa.template.cub + Status = Nominal + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = History + Name = IsisCube + StartByte = 1336961 + Bytes = 428 +End_Object + +Object = OriginalLabel + Name = IsisCube + StartByte = 1337389 + Bytes = 2052 +End_Object +End diff --git a/tests/pytests/data/f004b65/f004b65_pds3.lbl b/tests/pytests/data/f004b65/f004b65_pds3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..359c0ac2d359abaa9fc0ca6300ebbb3aabd4bfea --- /dev/null +++ b/tests/pytests/data/f004b65/f004b65_pds3.lbl @@ -0,0 +1,1633 @@ +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL +/* FILE FORMAT AND LENGTH */ +RECORD_TYPE = VARIABLE_LENGTH +RECORD_BYTES = 1204 +FILE_RECORDS = 2177 +LABEL_RECORDS = 61 +/* POINTERS TO START RECORDS OF MAJOR OBJECTS IN FILE */ +^IMAGE_HISTOGRAM = 62 +^ENCODING_HISTOGRAM = 63 +^ENGINEERING_TABLE = 65 +^LINE_HEADER_TABLE = 66 +^IMAGE = 1122 +/* IMAGE DESCRIPTION */ +DATA_SET_ID = 'VO1/VO2-M-VIS-2-EDR-V2.0' +SPACECRAFT_NAME = VIKING_ORBITER_2 +MISSION_PHASE_NAME = PRIMARY_MISSION +TARGET_NAME = MARS +IMAGE_ID = '004B65' +IMAGE_NUMBER = 46570746 +IMAGE_TIME = 1976-08-12T01:28:18Z +EARTH_RECEIVED_TIME = 1976-08-13T01:00:48Z +ORBIT_NUMBER = 4 +INSTRUMENT_NAME = VISUAL_IMAGING_SUBSYSTEM_CAMERA_A +GAIN_MODE_ID = HIGH +FLOOD_MODE_ID = ON +OFFSET_MODE_ID = ON +FILTER_NAME = GREEN +EXPOSURE_DURATION = 0.033940 <SECONDS> +NOTE = "HIGH RESOLUTION MAPPING SEQUENCE OF + THE B2 LANDING SITE" +/* DESCRIPTION OF THE OBJECTS CONTAINED IN FILE */ +OBJECT = IMAGE_HISTOGRAM + ITEMS = 256 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENCODING_HISTOGRAM + ITEMS = 511 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENGINEERING_TABLE + ROWS = 1 + ROW_BYTES = 152 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = ENGINEERING_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 152 + NOTE = "This structure describes the format of + the engineering record that is included in each image file. + This record contains the first 152 bytes of data extracted from + the Mission and Test Imaging System (MTIS) header record on each + file of an imaging EDR tape." + + OBJECT = COLUMN + NAME = MTIS_RECORD_ID + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 1 + BYTES = 2 + DESCRIPTION = "Mission and Test Imaging System record + ID." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PHYSICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 3 + BYTES = 2 + DESCRIPTION = "Physical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Logical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 7 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of first line segment in the file containing valid + data. This field is NOT stored in VAX least significant byte + first format." + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). Time of first line record in the file containing valid + data. This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 7 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of last line segment of the file containing valid + data." + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 8 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + first line segment of the file containing valid data. Note that + this may not correspond to the FDS count for line 1, segment 1." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + last line segment of the file containing valid data. Note that + this may not correspond to the FDS count for segment 7 of line + 1056." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_ID + DATA_TYPE = CHARACTER + START_BYTE = 27 + BYTES = 6 + DESCRIPTION = "Tape reel identifier of the original + EDR tape for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_FILE_NUMBER + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "File number of image on original EDR + tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 34 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 36 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in the image. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Average pixel value for image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_1 + DATA_TYPE = CHARACTER + START_BYTE = 39 + BYTES = 4 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Minimum signal to noise ratio. The + minimum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Maximum signal to noise ratio. The + maximum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_2 + DATA_TYPE = CHARACTER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control minimum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control maximum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_3 + DATA_TYPE = CHARACTER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 55 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that contain some valid data (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 57 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were fully synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 59 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were partly synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 61 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 0 (maximum is 7 x 1056). + DQI0 indicates bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 63 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 1 (maximum is 7 x 1056). + DQI1 means SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 65 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 2 (maximum is 7 x 1056). + DQI2 means SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 67 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 3 (maximum is 7 x 1056). + DQI3 means SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 69 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 4 (maximum is 7 x 1056). + DQI4 means SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FDS_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 71 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected FDS counts." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 73 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = ADJUSTED_PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 75 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes adjusted based on the + number of line segments processed versus the total in a full + image (7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNREADABLE_RECORDS + DATA_TYPE = VAX_INTEGER + START_BYTE = 77 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that could not be read from the Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 79 + BYTES = 2 + DESCRIPTION = "Total number of breaks in logical + sequence number in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DATA_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 81 + BYTES = 2 + DESCRIPTION = "Total number of breaks in data + sequence in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_4 + DATA_TYPE = CHARACTER + START_BYTE = 83 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 85 + BYTES = 2 + DESCRIPTION = "Total number of lines in the file that + contain some valid data (nominal is 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 87 + BYTES = 2 + DESCRIPTION = "Number of lines in the file that are + composed of seven line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTIAL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 89 + BYTES = 2 + DESCRIPTION = "Total number of line records in the + file that contain some valid data but are not composed of seven + line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 91 + BYTES = 2 + DESCRIPTION = "First line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 93 + BYTES = 2 + DESCRIPTION = "Last line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_5 + DATA_TYPE = CHARACTER + START_BYTE = 95 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = IMAGE_ID + DATA_TYPE = CHARACTER + START_BYTE = 97 + BYTES = 6 + DESCRIPTION = "Image identifier (PICNO) for this + image, formatted OOOSNN, where OOO is orbit number, S is + spacecraft identifier (A for Viking Orbiter 1 prime and extended + missions; B for Viking Orbiter 2; and S for Viking Orbiter 1 + Survey mission)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VRP_RUN_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 103 + BYTES = 2 + DESCRIPTION = "Viking Reconstruction Processing run + number." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DISK_ID + DATA_TYPE = CHARACTER + START_BYTE = 105 + BYTES = 6 + DESCRIPTION = "MTIS disk identifier of the original + EDR file for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_6 + DATA_TYPE = CHARACTER + START_BYTE = 111 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 113 + BYTES = 2 + DESCRIPTION = "Transmitted command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. Where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step indicator." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD2 + DATA_TYPE = INTEGER + START_BYTE = 115 + BYTES = 2 + DESCRIPTION = "Transmitted command code word 2 for + this image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_NUMBER + START_BIT = 10 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter number: where 1 is blue; 2 is + minus blue; 3 is violet; 4 is clear; 5 is green; and 6 is red." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CAMERA_SERIAL_NUMBER + START_BIT = 13 + BITS = 4 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Visual Imaging Subsystem camera serial + number." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = RECEIVED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 117 + BYTES = 2 + DESCRIPTION = "Received command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current (beam) off (0) or on + (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS50_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 121 + BYTES = 2 + DESCRIPTION = "Plus 50 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 123 + BYTES = 2 + DESCRIPTION = "Plus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS12_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 125 + BYTES = 2 + DESCRIPTION = "Plus 12 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS5_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 127 + BYTES = 2 + DESCRIPTION = "Plus 5 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 129 + BYTES = 2 + DESCRIPTION = "Minus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS23_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 131 + BYTES = 2 + DESCRIPTION = "Minus 23 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_AVERAGE_VIDEO + DATA_TYPE = VAX_INTEGER + START_BYTE = 133 + BYTES = 2 + DESCRIPTION = "Average video." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = POWER_CONVERTER_INPUT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 135 + BYTES = 2 + DESCRIPTION = "Power converter input current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 137 + BYTES = 2 + DESCRIPTION = "Cathode current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 139 + BYTES = 2 + DESCRIPTION = "Cathode voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILAMENT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 141 + BYTES = 2 + DESCRIPTION = "Filament current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FRAME_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 143 + BYTES = 2 + DESCRIPTION = "Frame sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 145 + BYTES = 2 + DESCRIPTION = "Line sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = GRID3_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 147 + BYTES = 2 + DESCRIPTION = "Grid 3 voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FOCUS_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 149 + BYTES = 2 + DESCRIPTION = "Focus current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DIGITAL_LADDER + DATA_TYPE = VAX_INTEGER + START_BYTE = 151 + BYTES = 2 + DESCRIPTION = "Digital ladder." + END_OBJECT = COLUMN + +END_OBJECT = ENGINEERING_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = LINE_HEADER_TABLE + ROWS = 1056 + ROW_BYTES = 62 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = LINE_HEADER_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 62 + NOTE = "Viking Orbiter Image Line-header + Structure. This label describes the structure of the 62-bytes + extracted from the end of each image line." + + OBJECT = COLUMN + NAME = FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 1 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem (FDS) clock + count." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Flight Data Subsystem line number, + extracted from the telemetry record header information." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 7 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 8 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in this line. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Average pixel value for this line." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + line that contain some valid data (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were fully synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were partly synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 0 (maximum is 7), indicating + bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 1 (maximum is 7), indicating + SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 21 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 2 (maximum is 7), indicating + SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 3 (maximum is 7), indicating + SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 25 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 4 (maximum is 7), indicating + SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 27 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 29 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 31 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 35 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 39 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 41 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EMBEDDED_SCIENCE_DATA + ITEMS = 7 + DATA_TYPE = INTEGER + START_BYTE = 55 + ITEM_BYTES = 1 + DESCRIPTION = "Embedded low rate science data from + seven segments." + END_OBJECT = COLUMN + +END_OBJECT = LINE_HEADER_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = IMAGE + ENCODING_TYPE = HUFFMAN_FIRST_DIFFERENCE + LINES = 1056 + LINE_SAMPLES = 1204 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 + SAMPLE_BIT_MASK = 2#11111110# + CHECKSUM = 200755970 +END_OBJECT +END diff --git a/tests/pytests/data/f004b65/naif0012.tls b/tests/pytests/data/f004b65/naif0012.tls new file mode 100644 index 0000000000000000000000000000000000000000..e1afdee1b626e01a3f1b04ef8a43154e83972e56 --- /dev/null +++ b/tests/pytests/data/f004b65/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/f004b65/pck00009.tpc b/tests/pytests/data/f004b65/pck00009.tpc new file mode 100644 index 0000000000000000000000000000000000000000..bfadaab2b26817327189ff3173e9609f49dedc9d --- /dev/null +++ b/tests/pytests/data/f004b65/pck00009.tpc @@ -0,0 +1,3639 @@ +KPL/PCK + + +P_constants (PcK) SPICE kernel file +=========================================================================== + + By: Nat Bachman (NAIF) 2010 March 3 + + +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/IAG + 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 + + +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 and planets. + Additional items included in this section: + + - Earth north geomagnetic centered dipole values + for epochs 1945-2000 + + - Mars prime meridian offset "lambda_a" + + -- Orientation constants for satellites + + -- Orientation constants for asteroids Eros, Gaspra, Ida, + Itokawa, and Vesta + + -- Orientation constants for comets 19P/Borrelly + and 9P/Tempel 1 + + + Radii of Bodies + --------------- + + -- Radii of Sun and planets + + -- Radii of satellites, where available + + -- Radii of asteroids Ceres, Eros, Gaspra, Ida, Itokawa, + Mathilde, Toutatis, and Vesta. + + -- Radii of comets 19P/Borrelly, Halley, 9P/Tempel 1, + and 81P/Wild 2 + + + +Version Description +-------------------------------------------------------- + + This file was created on March 3, 2010. This version + incorporates data from reference [1]. + + This file contains size, shape, and orientation data for all + objects described by the previous version of the file, except + for Kleopatra: a shape model for this body is not provided in [1] + because, according to this source, it had been "modeled from + low resolution radar data, and cannot be mapped from those + data." + + New objects covered by this file but not the previous + version are: + + 19P/Borrelly + Halley + 9P/Tempel 1 + 81P/Wild 2 + Ceres + Itokawa + Mathilde + Toutatis + + +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, and version description section if you modify + this file. + +Known Limitations and Caveats + + Accuracy + -------- + + In general, the orientation models given here are claimed by the + IAU/IAG 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]) 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. 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 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. A more + accurate approximation can be obtained by using both the NAIF + lunar frame kernel and the binary lunar orientation PCK file, + which 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 + J2000 epoch 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]. + + + Mars prime meridian offset + -------------------------- + + The Mars prime meridian offset given by [5] is not used by + SPICE geometry software for computations involving the shape + of Mars (for example, in sub-observer point or surface intercept + computations). The value 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 only planets for which such terms are used are + Jupiter and Neptune. Use of trigonometric polynomial terms for + natural satellites is and has been supported for all SPICE Toolkit + versions. + + 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 +-------------------------------------------------------- + + The sources for the constants listed in this file are: + + + [1] 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." + + [2] Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F., + Cruikshank, D.P., Hilton, J.L., Keller, H.U., Oberst, J., + Simon, J.L., Stooke, P., Tholen, D.J., and Thomas, P.C. + "Report of the IAU/IAG Working Group on Cartographic + Coordinates and Rotational Elements of the Planets and + Satellites: 2003." + + [3] 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. + + [4] Nautical Almanac Office, United States Naval Observatory, + H.M. Nautical Almanac Office, Royal Greenwich + Observatory, Jet Propulsion Laboratory, Bureau des + Longitudes, and The Time Service and Astronomy + Departments, United States Naval Observatory (1992). + "Explanatory Supplement to the Astronomical Almanac," P. + Kenneth Seidelmann, ed. University Science Books, 20 + Edgehill Road, Mill Valley, CA 9494. + + [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. + + + Most values are from [1]. All exceptions are + commented where they occur in this file. The exceptions are: + + + -- Radii for the Sun are from [3]. + + -- 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 + [8]. The article [6] was used to check most of + these values, and the values were also re-computed from + the 9th generation IGRF [9] by Nat Bachman. + + -- The Mars prime meridian offset angle is from [5]. + + + "Old values" listed are from the SPICE P_constants file + pck00008.tpc dated September 21, 2004. Most of these values came + from the 2003 IAU report [2]. + + + + +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.14 6378.14 6356.75 ) + + 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.14 + 6378.14 + 6356.75 ) + + 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 2006 IAU/IAG 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 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 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, 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: 2006 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.5366420 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 term is zero for all bodies except Mars. It represents the + angular offset between the meridian containing the longest axis of + the triaxial ellipsoid used to model a body's surface and the + prime meridian of the body. + + 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 2006 IAU report does + not use any other models, except in the case of Mars, where + separate values are given for the north and south polar radii. + + 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.14 6378.14 6356.75 ) + + +Body Numbers 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 + + + 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 + 2000004 Asteroid Vesta + 2000216 Asteroid Kleopatra + 2000253 Asteroid Mathilde + 2000433 Asteroid Eros + 2004179 Asteroid Toutatis + 2025143 Asteroid Itokawa + 2431010 Asteroid Ida + 9511010 Asteroid Gaspra + + +Orientation Constants for the Sun and Planets +-------------------------------------------------------- + + +Sun + + Old values: + + Values are from the 2003 IAU report. + + + body10_pole_ra = ( 286.13 0. 0. ) + body10_pole_dec = ( 63.87 0. 0. ) + body10_pm = ( 84.10 14.18440 0. ) + body10_long_axis = ( 0. ) + + 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 unchanged in the 2006 IAU report. + + + Current values: + + \begindata + + BODY199_POLE_RA = ( 281.01 -0.033 0. ) + BODY199_POLE_DEC = ( 61.45 -0.005 0. ) + BODY199_PM = ( 329.548 6.1385025 0. ) + + BODY199_LONG_AXIS = ( 0. ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 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 2006 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: + + Old 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 ) + + + Current values: + + 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 + + + Values are given for the epoch 2000 and are from the final row + of the above table, which is from [8]. As shown by the table + these values constitute a low-accuracy approximation for epochs + not close to 2000. + + \begindata + + BODY399_N_GEOMAG_CTR_DIPOLE_LON = ( 288.43 ) + BODY399_N_GEOMAG_CTR_DIPOLE_LAT = ( 79.54 ) + + \begintext + + +Mars + + Old values: + + Values are unchanged in the 2006 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: + + Values are from the 2003 IAU report. + + + body599_pole_ra = ( 268.05 -0.009 0. ) + body599_pole_dec = ( 64.49 0.003 0. ) + body599_pm = ( 284.95 870.5366420 0. ) + body599_long_axis = ( 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.35 2382.6 + 113.35 6070.0 + 146.64 182945.8 + 49.24 90274.4 ) + + + + 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.5366420 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 unchanged in the 2006 IAU report. + + Current values: + + \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 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. + + + \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 + 29.80 -52.1 + 706.64 151413.4 + 57.44 151413.4 ) + \begintext + + +Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 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 + + + +Pluto + + Old values: + + Values are from the 2003 IAU report. + + BODY999_POLE_RA = ( 313.02 0. 0. ) + BODY999_POLE_DEC = ( 9.09 0. 0. ) + BODY999_PM = ( 236.77 -56.3623195 0. ) + BODY999_LONG_AXIS = ( 0. ) + + + Current values: + + \begindata + + 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. ) + + \begintext + + + + +Orientation constants for the satellites +-------------------------------------------------------- + + +Satellites of Earth + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 from the 2003 IAU report. + + + body502_pole_ra = ( 268.08 -0.009 0. ) + body502_pole_dec = ( 64.51 0.003 0. ) + body502_pm = ( 35.67 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 ) + + + 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Enceladus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Tethys + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Dione + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Rhea + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 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. ) + + \begintext + + + + Titan + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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 ) + + \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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Phoebe + + + Old values: + + Values are from the 2003 IAU report. + + body609_pole_ra = ( 355.00 0. 0. ) + body609_pole_dec = ( 68.70 0. 0. ) + body609_pm = ( 304.70 930.8338720 0. ) + body609_long_axis = ( 0. ) + + 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 2006 IAU report. + + Current values: + + \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. 0.023 ) + BODY610_NUT_PREC_DEC = ( 0. -0.183 0. 0. 0. 0. 0. 0. 0.001 ) + BODY610_NUT_PREC_PM = ( 0. 1.613 0. 0. 0. 0. 0. 0. -0.023 ) + + \begintext + + + + Epimetheus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 0.086 0. ) + BODY611_NUT_PREC_DEC = ( -0.356 0. 0. 0. 0. 0. 0. 0.005 0. ) + BODY611_NUT_PREC_PM = ( 3.133 0. 0. 0. 0. 0. 0. -0.086 0. ) + + \begintext + + + + Helene + + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 report [1] states that values for Nereid are not + given because Nereid is not in synchronous rotation with Neptune + (p. 167). + + + + Naiad + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2003 IAU report. + + body901_pole_ra = ( 313.02 0. 0. ) + body901_pole_dec = ( 9.09 0. 0. ) + body901_pm = ( 56.77 -56.3623195 0. ) + body901_long_axis = ( 0. ) + + Current values: + + \begindata + + 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. ) + + \begintext + + + +Orientation constants for Selected Comets and Asteroids +-------------------------------------------------------- + + + +19P/Borrelly + + + 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 + + + +9P/Tempel 1 + + + 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 + + +Vesta + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY2000004_POLE_RA = ( 301. 0. 0. ) + BODY2000004_POLE_DEC = ( 41. 0. 0. ) + BODY2000004_PM = ( 292. 1617.332776 0. ) + BODY2000004_LONG_AXIS = ( 0. ) + + \begintext + +Eros + + Old values: + + Values are unchanged in the 2006 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 + + +Itokawa + + + 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 + + + +Ida + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + +Gaspra + + Old values: + + Values are unchanged in the 2006 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 + + + + + + + + + + +Radii of Sun and Planets +-------------------------------------------------------- + + +Sun + + Value for the Sun is from the [3], page K7. + + \begindata + + BODY10_RADII = ( 696000. 696000. 696000. ) + + \begintext + + +Mercury + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY199_RADII = ( 2439.7 2439.7 2439.7 ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY299_RADII = ( 6051.8 6051.8 6051.8 ) + + \begintext + + +Earth + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + + \begindata + + BODY399_RADII = ( 6378.14 6378.14 6356.75 ) + + \begintext + + +Mars + + + Old values: + + body499_radii = ( 3397. 3397. 3375. ) + + Current values: + + + The IAU report gives separate values for the north and south + polar radii: + + north: 3373.19 + south: 3379.21 + + We use the average of these values 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 2006 IAU report. + + Current values: + + \begindata + + BODY599_RADII = ( 71492 71492 66854 ) + + \begintext + + + +Saturn + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY699_RADII = ( 60268 60268 54364 ) + + \begintext + + + +Uranus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY799_RADII = ( 25559 25559 24973 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + (Values are for the 1 bar pressure level.) + + \begindata + + BODY899_RADII = ( 24764 24764 24341 ) + + \begintext + + + +Pluto + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY999_RADII = ( 1195 1195 1195 ) + + \begintext + + + + +Radii of Satellites +-------------------------------------------------------- + + +Moon + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY301_RADII = ( 1737.4 1737.4 1737.4 ) + + \begintext + + + +Satellites of Mars + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY401_RADII = ( 13.4 11.2 9.2 ) + BODY402_RADII = ( 7.5 6.1 5.2 ) + + \begintext + + + +Satellites of Jupiter + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY501_RADII = ( 1829.4 1819.3 1815.7 ) + BODY502_RADII = ( 1564.13 1561.23 1560.93 ) + BODY503_RADII = ( 2632.4 2632.29 2632.35 ) + BODY504_RADII = ( 2409.4 2409.2 2409.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 ) + + \begintext + + 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. + \begindata + + BODY516_RADII = ( 21.5 21.5 21.5 ) + + \begintext + + + +Satellites of Saturn + + + Old values: + + Values are from the 2003 IAU report. + + body601_radii = ( 209.1 196.2 191.4 ) + body602_radii = ( 256.3 247.3 244.6 ) + body603_radii = ( 535.6 528.2 525.8 ) + body604_radii = ( 560 560 560 ) + body605_radii = ( 764 764 764 ) + body606_radii = ( 2575 2575 2575 ) + body607_radii = ( 164 130 107 ) + body608_radii = ( 718 718 718 ) + body609_radii = ( 115 110 105 ) + 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) was given in the + 2003 IAU report: + + body612_radii = ( 17.5 --- --- ) + + The mean radius was 16km; we used this radius for all three axes, as + we do for the satellites for which only the mean radius is available. + + + body612_radii = ( 16 16 16 ) + 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 ) + + + + Current values: + + \begindata + + 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 ) + + \begintext + + 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. + + + \begindata + + 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 ) + + \begintext + + + For Pan, only a mean radius is given in the 2006 report. + + \begindata + + BODY618_RADII = ( 10 10 10 ) + + \begintext + + + +Satellites of Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 IAU report. + + Current values: + + The 2000 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 2000 + 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 from the 2003 IAU report. + + BODY901_RADII = ( 593 593 593 ) + + Current values: + + \begindata + + BODY901_RADII = ( 605 605 605 ) + + \begintext + + + +Radii for Selected Comets and Asteroids +-------------------------------------------------------- + + +19P/Borrelly + + + 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 + + + +Halley + + + Current values: + + \begindata + + BODY1000036_RADII = ( 8.0 4.0 4.0 ) + + \begintext + + + +9P/Tempel 1 + + + 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 + + +81P/Wild 2 + + + Current values: + + + \begindata + + BODY1000107_RADII = ( 2.7 1.9 1.5 ) + + \begintext + + +Ceres + + + Current values: + + + \begindata + + BODY2000001_RADII = ( 487.3 487.3 454.7 ) + + \begintext + + +Vesta + + + Current values: + + + \begindata + + BODY2000004_RADII = ( 289. 280. 229. ) + + \begintext + + +Toutatis + + + Current values: + + + \begindata + + BODY2004179_RADII = ( 2.13 1.015 0.85 ) + + \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 2006 report. + + +Mathilde + + + Current values: + + + \begindata + + BODY2000253_RADII = ( 33. 24. 23. ) + + \begintext + +Eros + + + Current values: + + + \begindata + + BODY2000433_RADII = ( 17.0 5.5 5.5 ) + + \begintext + + +Itokawa + + + Current values: + + + \begindata + + BODY2025143_RADII = ( 0.535 0.294 0.209 ) + + \begintext + + + +Gaspra + + + Current values: + + + \begindata + + BODY9511010_RADII = ( 9.1 5.2 4.4 ) + + \begintext + + + + +Ida + + + Current values: + + + \begindata + + BODY2431010_RADII = ( 26.8 12.0 7.6 ) + + \begintext + + + +=========================================================================== +End of file pck00009.tpc +=========================================================================== + + + diff --git a/tests/pytests/data/f004b65/vikingAddendum003.ti b/tests/pytests/data/f004b65/vikingAddendum003.ti new file mode 100644 index 0000000000000000000000000000000000000000..b84e8a81eddcfdd2ab1919dab123bf5f08d5399a --- /dev/null +++ b/tests/pytests/data/f004b65/vikingAddendum003.ti @@ -0,0 +1,23 @@ +\begindata +INS-30001_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-30001_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-30001_ITRANSS = ( 0.0, 85.0, 0.0) +INS-30001_ITRANSL = ( 0.0, 0.0, 85.0) + +INS-30002_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-30002_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-30002_ITRANSS = ( 0.0, 85.0, 0.0) +INS-30002_ITRANSL = ( 0.0, 0.0, 85.0) + +\begintext +These are the parameters for writing c-kernels. Isis will create ck +with the same frame endpoints as the mission ck. For Viking1 the ck +instrument frame is VO2_PLATFORM (-30000) and the ck reference frame +is B1950 (2) or J2000 (1), depending on the ck used. The mdim2.0_rand +ck is in J2000. + +\begindata +INS-30001_CK_FRAME_ID=-30000 +INS-30001_CK_REFERENCE_ID=2 +INS-30002_CK_FRAME_ID=-30000 +INS-30002_CK_REFERENCE_ID=2 diff --git a/tests/pytests/data/f004b65/vo2_fict.tsc b/tests/pytests/data/f004b65/vo2_fict.tsc new file mode 100644 index 0000000000000000000000000000000000000000..f6c2ed107b663439690e01527eb8125e73642e66 --- /dev/null +++ b/tests/pytests/data/f004b65/vo2_fict.tsc @@ -0,0 +1,134 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO2_FICT.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 2" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO2_FICT.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:21 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION + } +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 = MARS +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 = "SCLK file implementing fictitious clock +used to tag orientation data in the VO2 CK files. This SCLK file does NOT +represent real Viking Orbiter 2 on-board clock but rather is a simple +counter of milliseconds since 1 Jan 1976 00:00:00. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 2 "fictitious" SCLK Kernel +-------------------------------------------------------- + + This file contains the data necessary to convert between the + 'fictitious' Viking Orbiter 2 on-board clock times used as tags + for pointing instances in Viking Orbiter 2 CK files and ephemeris + time. + + NAIF suggests that you do not modify this file. If you do modify + it, be sure to indicate this in the `Version' section below. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are simply the number of seconds that have passed since the UTC + epoch 1 Jan 1976 00:00:00. Thus 288929292.827 simply represents + the epoch that occurs 288929292.827 seconds past the UTC epoch + 1 Jan 1976. + + For all time, the clock runs at the same rate as Terrestrial + Dynamical Time (TDT). There is only one partition for this clock. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + + \begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_30 = ( 1 ) + + SCLK01_TIME_SYSTEM_30 = ( 2 ) + SCLK01_N_FIELDS_30 = ( 2 ) + SCLK01_MODULI_30 = ( 10000000000 1000 ) + SCLK01_OFFSETS_30 = ( 0 0 ) + SCLK01_OUTPUT_DELIM_30 = ( 1 ) + + SCLK_PARTITION_START_30 = ( 0.0000000000000E+00 ) + SCLK_PARTITION_END_30 = ( 1.00000000E+14 ) + SCLK01_COEFFICIENTS_30 = ( 0.00000000E+00 + @01-JAN-1976-00:00:47.184 + 1 ) + + \begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f004b65/vo2_fsc.tsc b/tests/pytests/data/f004b65/vo2_fsc.tsc new file mode 100644 index 0000000000000000000000000000000000000000..d3b30a16469e17ab63230b7fbb1e186e39d68883 --- /dev/null +++ b/tests/pytests/data/f004b65/vo2_fsc.tsc @@ -0,0 +1,193 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO2_FSC.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 2" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO2_FSC.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:21 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION + } +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 = MARS +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 = "SCLK file containing linear piecewise +function representing VO2 FSC on-board clock. This function was generated as +the result of VO2 image time tags restoration. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 2 Reconstructed Frame Start Count (FSC) SCLK file +-------------------------------------------------------- + + This file contain data necessary to convert a Viking Orbiter 2 + FSC count to the ET time corresponding to it. These data are + based on the results of VO2 image times reconstruction done at + NAIF/JPL. The process of this reconstruction is described in + detail in the "VO Image Time Reconstruction" document. + + Note that the main purpose of this file is to store the + reconstructed FSC counter; the on-board clock defined by the + function in this file was not used to time tag any of the + orientation data in CK files. + + To avoid confusion with the other VO2 clock used for time tagging, + the FSC on-board clock in this file was assigned the NAIF ID + code -30999. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are the eight digit VO2 FSC count associated with each VO2 image. + Note that the actual "image time" (the time of the beginning, + middle or the end of exposure) has a significant offset from + the FSC tick start time. This offset depends on the exposure + duration and is described in the "VO Image Time Reconstruction" + document. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + +\begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_30999 = ( 1 ) + SCLK01_TIME_SYSTEM_30999 = ( 2 ) + SCLK01_N_FIELDS_30999 = ( 1 ) + SCLK01_MODULI_30999 = ( 80000000 ) + SCLK01_OFFSETS_30999 = ( 46442015 ) + SCLK01_OUTPUT_DELIM_30999 = ( 1 ) + + SCLK_PARTITION_START_30999 = ( + 0 + 357985 + 777985 + 1057985 + 1268246 + 1457985 + 2581493 + 4701667 + 5412787 + 6557985 + 6810335 + 7107985 + 9390838 + 10007985 + 10607985 + 11107985 + 12557985 + ) + + SCLK_PARTITION_END_30999 = ( + 357985 + 777985 + 1057985 + 1268246 + 1457985 + 2581493 + 4701667 + 5412787 + 6557985 + 6810335 + 7107985 + 9390838 + 10007985 + 10607985 + 11107985 + 12557985 + 13843304 + ) + + SCLK01_COEFFICIENTS_30999 = ( + + 0 -738643373.631604 4.480001294 + 357985 -737039600.324536 4.480001238 + 777985 -735157999.769837 4.480001240 + 1057985 -733903599.385587 4.480001244 + 1268246 -732961629.770622 4.480001297 + 1457985 -732111598.747130 4.480001301 + 2581493 -727078280.882439 4.480001764 + 4701667 -717579897.536827 4.480001764 + 5412787 -714394078.461940 4.480001817 + 6557985 -709263589.346238 4.480001599 + 6810335 -708133060.592218 4.480001867 + 7107985 -706799588.012369 4.480001868 + 9390838 -696572402.934857 4.480001454 + 10007985 -693807583.640654 4.480001937 + 10607985 -691119582.502621 4.480001298 + 11107985 -688879581.719291 4.480001364 + 12557985 -682383579.531742 4.480001393 + ) + +\begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f004b65/vo2_sedr_ck2_0_sliced_-30000.xc b/tests/pytests/data/f004b65/vo2_sedr_ck2_0_sliced_-30000.xc new file mode 100644 index 0000000000000000000000000000000000000000..6f2a58bc6dd3db553747578e1ce70de919ccf93e --- /dev/null +++ b/tests/pytests/data/f004b65/vo2_sedr_ck2_0_sliced_-30000.xc @@ -0,0 +1,981 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/CK ' +'2' +'6' +'VO2 PLATFORM ATTITUDE; CREATED BY BVS/NAIF; 2006-FEB-09 ' +BEGIN_ARRAY 1 960 +'VO2 ATT. BASED ON GEM AND SEDR FILES ' +'481C5943E^9' +'481F08AF9^9' +'-7530' +'2' +'2' +'1' +960 +'2F5044DC744704^0' +'-45AEE5FC6BF8A^0' +'7EE9F2A166BF54^0' +'CDC0ED4CE8C6E^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2E66F7CEBF327E^0' +'-44369B138153D^0' +'7F3FF2755EDE1C^0' +'CE3EE31CFDF7F^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2E31EB7BB55964^0' +'-43C23CD0A73AD4^0' +'7FBD44327B68E8^0' +'CE23ADE56DC088^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2D9F5E0B6177C8^0' +'-42D4F1213B80D4^0' +'7FFB9336C2DF7^0' +'CE6B167B5811A8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2D5F01B7201DDE^0' +'-424DF1FC862AD4^0' +'8088D1293D2C^0' +'CE4D0A0B7D5E8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2CD705B0AC0BE4^0' +'-41721644FDF604^0' +'80C24D6D5D4A58^0' +'CE8D16C274292^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2C99EC8651AA58^0' +'-40E8E9E20D978C^0' +'8174A4303ECF8^0' +'CE5619EC41375^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2C038D20A2FAA4^0' +'-3FFAC4D988AB2A^0' +'81A7FAC0552F48^0' +'CEA07BE0F0167^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2BCC2DA443A436^0' +'-3F85E5C8E6C83E^0' +'823A23DB1691D^0' +'CE745FCB19DDE8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2B334815E19A7E^0' +'-3E938B4B46EE14^0' +'826D443D4586A8^0' +'CEBE469BD9F7D8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2AF9C2D85F32AE^0' +'-3E1F8C73B4301A^0' +'82F5082CA9AD8^0' +'CE9768717CA7B8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2A63B948778248^0' +'-3D3146D13F738E^0' +'832FE7CA64DE58^0' +'CED8209A562D78^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2A298983B08954^0' +'-3CBE33F5072C46^0' +'83B7D65A9DFB1^0' +'CEAF8923E1A5E8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2991F5C05285D^0' +'-3BD086EF98DC6A^0' +'83E7D225D5ED68^0' +'CEF4E8D46006D^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2957133853EBC8^0' +'-3B5D7467B95FEA^0' +'8478B4FB0E0CF^0' +'CEC54624299DD8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'28BDD4E8A5813E^0' +'-3A70B6721E093^0' +'849E413AC23158^0' +'CF0F02BC85FA4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2880746B39075^0' +'-39FEE4A4AB7B06^0' +'851210845816^0' +'CEF0BE954E12A^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'27E671A8A8631E^0' +'-391178E8BACD38^0' +'853BD10B3666A^0' +'CF35C26C876818^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'27A7AB05BD511E^0' +'-389F6E41396952^0' +'85B451784AF038^0' +'CF137798578198^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'270CC1150CA382^0' +'-37B177B65A18A4^0' +'85D7E8C0B6338^0' +'CF5A66C6190EF^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'26CDD62CC1150C^0' +'-373EDC55E0FE24^0' +'866274CE2FAF2^0' +'CF2B3D6F94C65^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'26322E8710BB9C^0' +'-364FE52538ACA8^0' +'868F5527AD5428^0' +'CF6A2FCCE6B5B^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'25F2012B0130B6^0' +'-35DE2265DF3592^0' +'871553ECE29E98^0' +'CF3C83E538C688^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'255339F0AF0404^0' +'-34EB4C72F20DA6^0' +'874155E15B00C8^0' +'CF7B2CBCBF72D^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3962EDB67DF4AC^0' +'-4FF88733319738^0' +'896BC6318BDD28^0' +'C041E9D0C81448^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'38B93A82EDFC6^0' +'-4F0FD0FE341174^0' +'89A835A2CFFF6^0' +'C0A92DC93E312^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3890046130445^0' +'-4E9236701AF45C^0' +'8A6DCE582F8758^0' +'C05B09A1354F9^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'37FA4A070A92FC^0' +'-4DC6FF74AE766^0' +'8AA09AF049DAB^0' +'C0B4C275E1CB38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'37B73BD2121504^0' +'-4D418D8522AD5^0' +'8B2BDE0762FF68^0' +'C0997C6269BB4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'37226536BB5AC^0' +'-4C75CC340F45A4^0' +'8B621D772D49F^0' +'C0EE534F7DC55^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'36E0E7D0279322^0' +'-4BEF4065D1A28C^0' +'8BF9FCA3B302B8^0' +'C0C82ADF01753^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'363F47963733FC^0' +'-4B11BC77B44FF8^0' +'8C38C9A7647CC^0' +'C11EF3CC059F4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'360734C2A0ABC^0' +'-4A9D96574CE7D4^0' +'8CC26D60D762E8^0' +'C0F789F98D3DB8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3564533A305A3A^0' +'-49BF457E82866C^0' +'8D006FFDFBB27^0' +'C14CFE1D321A6^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'352ABE519E85D^0' +'-494BDBE1091B24^0' +'8D892EE36FEEA8^0' +'C124CEBD8110D8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3488101F706566^0' +'-486B77196567E8^0' +'8DCF94C2D74908^0' +'C17244DCE84DA8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'345C8DE8F310EE^0' +'-4806D87FE420EC^0' +'8E64DB5658C328^0' +'C135F0696A6D08^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'33B7A872ECBB7E^0' +'-472782CFF63EB4^0' +'8EA17B71A03AA^0' +'C188519F3BE7^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3373F515B034E8^0' +'-46A753D61594E8^0' +'8F350775E4BAE^0' +'C15C58DACB3BB^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'32E0A337E06D9C^0' +'-45E1CEB65099FC^0' +'8F69B50BBAE138^0' +'C1A403AA768B9^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3299BA70DE97D^0' +'-455BC44B4A317^0' +'9006F55F57AB18^0' +'C1720CABA8CE3^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'31F2E8B66868DA^0' +'-447CFA803191F4^0' +'9040BEF5A67B88^0' +'C1C1A8DF9FBA58^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'31C2FF799A42C6^0' +'-441B20079FC968^0' +'90CB36E6F09FD8^0' +'C18929EBD7A8A^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'311BA8A6DEE86^0' +'-433CC235CF9BF4^0' +'91041C5D812AB^0' +'C1D6FFBDA49D38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'30CFCEA7D0FF2^0' +'-42B9DAE398838^0' +'918DE7681D68B8^0' +'C1B019428EE998^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3035D3C5799C^0' +'-41EBECEDD2B3E^0' +'91CABE2BBCE838^0' +'C1EF61F3357E9^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2FE8B6D22CDDCA^0' +'-41699E0403D0D4^0' +'92535048A420E8^0' +'C1C7BE5289EA18^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2F3F96B300ECB8^0' +'-408A9016EC6064^0' +'928A590D78EA4^0' +'C2126AFDF61968^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'47EE463356F27^0' +'-53A08BFE0F5FCC^0' +'A3C399FA844B58^0' +'A2F0EB1CA4CE38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'471EC818A940B4^0' +'-52F1A0D8E8D0C^0' +'A3DA25B3FA761^0' +'A38E71E5045FB^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'46D6E5BB199638^0' +'-5286ED347150C^0' +'A445C2A8961358^0' +'A377AA0C8A30A^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4602C0506F79D^0' +'-51DDC9768FAFA^0' +'A442CE105B80A^0' +'A42AB2696C38D8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'45C84F7A7A0A18^0' +'-5181FF4AA33F3^0' +'A4A7DFFE3D9C3^0' +'A40BFDD401FA1^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44F97235128F04^0' +'-50D92FBAB9E5E8^0' +'A4A9EA36417888^0' +'A4B4A0ADEE1AB^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'44A1CAC0CDD98C^0' +'-5060A18C3434B8^0' +'A51AE0454B0AF^0' +'A4A3291E34A9E8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'43E0218E197A1^0' +'-4FC755D491BAB8^0' +'A50D977A69B468^0' +'A54AFE7F990D68^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'43976F2C77FE84^0' +'-4F5D096903B958^0' +'A57B8E7BF6D028^0' +'A52DFF4124DA78^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'42C8AD26B60334^0' +'-4EB30DEC3141A8^0' +'A5769C2699C5D8^0' +'A5D80A2F995CB^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'426FAAA4488A58^0' +'-4E3AB75D3534EC^0' +'A5E648B79AAED8^0' +'A5C527DA85599^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'41AFF48A1D30BC^0' +'-4D9DAFC34D74DC^0' +'A5DE85179BF308^0' +'A662D89349155^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'41663BE02F3BE8^0' +'-4D328F1BF9B9F^0' +'A64F60DDE8651^0' +'A6410DD234375^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'408A7F3D815B54^0' +'-4C74391FC791EC^0' +'A65A5F389635C8^0' +'A6E391CC28921^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'40415899E9FC5C^0' +'-4C06E535FEBE3^0' +'A6D30E44596478^0' +'A6B940E851638^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3F73ADF2B85DE4^0' +'-4B567D06A3645C^0' +'A6D6D52B40931^0' +'A7540A33312E38^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3F27C0AB51AAB6^0' +'-4AEB318A55A4^0' +'A746F823A0245^0' +'A730F7F28373A8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3E65AE722E374C^0' +'-4A452E5DCD5A84^0' +'A744F2CC53C0D^0' +'A7C5AB6975DF1^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3E1B04DFFF29DC^0' +'-49D88AD9BDE318^0' +'A7BCFEBA40B6E^0' +'A799736AD8C4D^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3D5C50E4ED35C2^0' +'-49350EB784CD58^0' +'A7B8614087F328^0' +'A82BC8D69C9A68^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3D01E31F94B67E^0' +'-48BA5650FAEC34^0' +'A83512D49BB7E8^0' +'A8055FCBDB4FE8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3C52AB9819690C^0' +'-48255B595A849C^0' +'A82999ACF4BF4^0' +'A89020543BD99^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3BF66558C65628^0' +'-47AC71D6928BB8^0' +'A89DEB97CFAC78^0' +'A8706B4C0F9CF8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3B2745372AF48E^0' +'-46FC1931E5205^0' +'A88BB46BCF2CA8^0' +'A9163EE90FE5D8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'5B184316009138^0' +'-4FC1D0C1199E5C^0' +'BEFB7BB31267D8^0' +'780270CB3D6B1^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'59AF976EB687D4^0' +'-4F51C12DC4BE44^0' +'BEEFF449E04758^0' +'796C9369F30688^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'595A480F06AA28^0' +'-4EEC5F5F63A1E8^0' +'BF6337F0A81968^0' +'793805D23A4944^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'58340E884B2B38^0' +'-4EFC30FBB2A5D8^0' +'BEA48505855C9^0' +'7B2DA64ED4C58^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'5805E0518603C4^0' +'-4E49DD17D19334^0' +'BFAA43444B381^0' +'7A29448D59D51^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'570647580CC3B8^0' +'-4E0CC4CFFDEEE^0' +'BF77236EBAF478^0' +'7B56358705400C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'569CC587AABEE8^0' +'-4DA0374C8EC7E4^0' +'BFEA76598527D^0' +'7B31BA0389CC84^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'55B1BB67243A18^0' +'-4D627EBFAC12F^0' +'BFBE281808174^0' +'7C40C094A0EEE8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'554A4DBBCB6AD^0' +'-4CEF4D75FB6F8C^0' +'C03D4A2CD4D99^0' +'7C0AF66BFFF22^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'545533099B916^0' +'-4CBC96CD977B4C^0' +'BFF15773AB0C8^0' +'7D4602948DC84^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'53EF2C01529074^0' +'-4C46DF5F7EEFFC^0' +'C07584C5117048^0' +'7D0791DBF357C8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'5301BD5609E258^0' +'-4C0DA4BC9797E4^0' +'C032AB47006348^0' +'7E2E6AFC877794^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'529ABBC68FCC94^0' +'-4B98C68ABCA64^0' +'C0B63D11B9157^0' +'7DEF825082FEF8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'519AB9C69927D^0' +'-4B5730F6D947AC^0' +'C06C78520E43E8^0' +'7F2CF41BE7202^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'51472EDC6F4E0C^0' +'-4AE82F597E65E^0' +'C0F45AF5F02878^0' +'7ED606139ACE08^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'50480385879784^0' +'-4AA44E1ACAE4CC^0' +'C0A86E0EC3F34^0' +'80126DB4839EF8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4FF0F780F6C2E4^0' +'-4A3BC0DE2BC648^0' +'C1232CB377757^0' +'7FCCB276A661EC^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4EF4C40EACCB34^0' +'-49EF1A05E911B^0' +'C0E2028D7FD2C8^0' +'80F6F8B80F02C^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4E7890CED2CC5^0' +'-49753E7221F098^0' +'C15D6BCE7A1DB8^0' +'80CF94B401CD98^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4D7BCF1E2FB3B4^0' +'-492524040FC534^0' +'C11A72AACEC958^0' +'81F94C9914C6C8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4D2389DD1236EC^0' +'-48BD0F8F90537C^0' +'C193FCB92D9E68^0' +'81B358CEEF3E1^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4C386ADFB9B534^0' +'-487543034EF37C^0' +'C14880BB60F9A8^0' +'82D5D80F5C8D88^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4BCA759FB06084^0' +'-47FF60DE3AA094^0' +'C1CA10092C7A7^0' +'82971744890AB8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'4AE09660EA8454^0' +'-47B53E11184CBC^0' +'C17BDEBF3A56E8^0' +'83B97A3EA3839^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'481DB505CFFFFC^9' +'481DB61D3FFFCC^9' +'481DB736500034^9' +'481DB84E4FFFCC^9' +'481DB96760003^9' +'481DBA7F5FFFC8^9' +'481DBB95BFFFC4^9' +'481DBCAD4FFFF8^9' +'481DBDC650003^9' +'481DBEDE4FFFC8^9' +'481DBFF76FFFE^9' +'481DC10F6FFFF4^9' +'481DC225CFFFF^9' +'481DC33D4FFFF4^9' +'481DC456500028^9' +'481DC56E5FFFF^9' +'481DC687600028^9' +'481DC79F6FFFF^9' +'481DC8B5C00038^9' +'481DC9CD4FFFF^9' +'481DCAE65FFFD8^9' +'481DCBFE5FFFEC^9' +'481DCD17600024^9' +'481DCE2F6FFFEC^9' +'481DDC6470000C^9' +'481DDD7C50003C^9' +'481DDE94900018^9' +'481DDFAC6FFFCC^9' +'481DE0C4BFFFD8^9' +'481DE1DCB00038^9' +'481DE2F4800038^9' +'481DE40C5FFFE8^9' +'481DE5249FFFC8^9' +'481DE63C6FFFC8^9' +'481DE754BFFFD4^9' +'481DE86CBFFFE8^9' +'481DE984800034^9' +'481DEA9C50003^9' +'481DEBB49FFFC4^9' +'481DECCC7FFFF^9' +'481DEDE4B0001C^9' +'481DEEFCB0003^9' +'481DF0146FFFFC^9' +'481DF12C50002C^9' +'481DF244900008^9' +'481DF35C7FFFEC^9' +'481DF474BFFFCC^9' +'481DF58CB0002C^9' +'481E03C4BFFFE8^9' +'481E04DC800034^9' +'481E05F4FFFFDC^9' +'481E070CAFFFF4^9' +'481E08253FFFCC^9' +'481E093D3FFFE^9' +'481E0A54B0003^9' +'481E0B6C8FFFE^9' +'481E0C85200038^9' +'481E0D9CC0002^9' +'481E0EB54FFFF8^9' +'481E0FCD50000C^9' +'481E10E4D0001^9' +'481E11FC800028^9' +'481E1315200034^9' +'481E142CC0001C^9' +'481E15454FFFF4^9' +'481E165D500008^9' +'481E1774D0000C^9' +'481E188C800024^9' +'481E19A520003^9' +'481E1ABCCFFFC8^9' +'481E1BD560002^9' +'481E1CED500004^9' +'481E2B2550000C^9' +'481E2C3CD0001^9' +'481E2D55CFFFC8^9' +'481E2E6D5FFFFC^9' +'481E2F86600034^9' +'481E309E5FFFC8^9' +'481E31B5500008^9' +'481E32CCD0000C^9' +'481E33E5CFFFC4^9' +'481E34FD4FFFC8^9' +'481E36166FFFE^9' +'481E372E5FFFC4^9' +'481E3845500004^9' +'481E395CD00008^9' +'481E3A75D0003C^9' +'481E3B8D5FFFF4^9' +'481E3CA6600028^9' +'481E3DBE6FFFF^9' +'481E3ED560003^9' +'481E3FECD^9' +'481E4105D00038^9' +'481E421D500038^9' +'481E4336600024^9' +'481E444E600038^9' +'481DB582CFFFFC^9' +'481DB69A3FFFCC^9' +'481DB7B3500034^9' +'481DB8CB4FFFCC^9' +'481DB9E460003^9' +'481DBAFC5FFFC8^9' +'481DBC12BFFFC4^9' +'481DBD2A4FFFF8^9' +'481DBE4350003^9' +'481DBF5B4FFFC8^9' +'481DC0746FFFE^9' +'481DC18C6FFFF4^9' +'481DC2A2CFFFF^9' +'481DC3BA4FFFF4^9' +'481DC4D3500028^9' +'481DC5EB5FFFF^9' +'481DC704600028^9' +'481DC81C6FFFF^9' +'481DC932C00038^9' +'481DCA4A4FFFF^9' +'481DCB635FFFD8^9' +'481DCC7B5FFFEC^9' +'481DCD94600024^9' +'481DCEAC6FFFEC^9' +'481DDCE170000C^9' +'481DDDF950003C^9' +'481DDF11900018^9' +'481DE0296FFFCC^9' +'481DE141BFFFD8^9' +'481DE259B00038^9' +'481DE371800038^9' +'481DE4895FFFE8^9' +'481DE5A19FFFC8^9' +'481DE6B96FFFC8^9' +'481DE7D1BFFFD4^9' +'481DE8E9BFFFE8^9' +'481DEA01800034^9' +'481DEB1950003^9' +'481DEC319FFFC4^9' +'481DED497FFFF^9' +'481DEE61B0001C^9' +'481DEF79B0003^9' +'481DF0916FFFFC^9' +'481DF1A950002C^9' +'481DF2C1900008^9' +'481DF3D97FFFEC^9' +'481DF4F1BFFFCC^9' +'481DF609B0002C^9' +'481E0441BFFFE8^9' +'481E0559800034^9' +'481E0671FFFFDC^9' +'481E0789AFFFF4^9' +'481E08A23FFFCC^9' +'481E09BA3FFFE^9' +'481E0AD1B0003^9' +'481E0BE98FFFE^9' +'481E0D02200038^9' +'481E0E19C0002^9' +'481E0F324FFFF8^9' +'481E104A50000C^9' +'481E1161D0001^9' +'481E1279800028^9' +'481E1392200034^9' +'481E14A9C0001C^9' +'481E15C24FFFF4^9' +'481E16DA500008^9' +'481E17F1D0000C^9' +'481E1909800024^9' +'481E1A2220003^9' +'481E1B39CFFFC8^9' +'481E1C5260002^9' +'481E1D6A500004^9' +'481E2BA250000C^9' +'481E2CB9D0001^9' +'481E2DD2CFFFC8^9' +'481E2EEA5FFFFC^9' +'481E3003600034^9' +'481E311B5FFFC8^9' +'481E3232500008^9' +'481E3349D0000C^9' +'481E3462CFFFC4^9' +'481E357A4FFFC8^9' +'481E36936FFFE^9' +'481E37AB5FFFC4^9' +'481E38C2500004^9' +'481E39D9D00008^9' +'481E3AF2D0003C^9' +'481E3C0A5FFFF4^9' +'481E3D23600028^9' +'481E3E3B6FFFF^9' +'481E3F5260003^9' +'481E4069D^9' +'481E4182D00038^9' +'481E429A500038^9' +'481E43B3600024^9' +'481E44CB600038^9' +END_ARRAY 1 960 +TOTAL_ARRAYS 1 + ~NAIF/SPC BEGIN COMMENTS~ +This CK is for testing with the image: /home/pgiroux/Desktop/f004b65.cub + +This CK was generated using the following command: {} + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f004b65/vo2_v10.tf b/tests/pytests/data/f004b65/vo2_v10.tf new file mode 100644 index 0000000000000000000000000000000000000000..0cff34eed43acbb0aabefa14e3f3bb57cf798ed4 --- /dev/null +++ b/tests/pytests/data/f004b65/vo2_v10.tf @@ -0,0 +1,470 @@ +KPL/FK + +Viking Orbiter 2 Frames Kernel +=============================================================================== + + This frame kernel contains the complete set of frame definitions for + the Viking Orbiter 2 (VO2) spacecraft including definitions for the + spacecraft frame, instrument platform frame, and science instrument + frames. + + +Version and Date +------------------------------------------------------------------------------- + + Version 1.0 -- December 1, 2005 -- Boris Semenov, NAIF + + Initial Release. + + +References +------------------------------------------------------------------------------- + + 1. ``Frames Required Reading'' + + 2. ``Kernel Pool Required Reading'' + + 3. ``C-Kernel Required Reading'' + + 4. VO2 Supplemental Experiment Data Record (SEDR) file, 1976-1980. + + 5. Thomas C. Duxbury/JPL, March-July, 1996 + + +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 frame kernel must `load' the kernel, normally during + program initialization. The SPICELIB/CSPICE/ICY routine FURNSH loads + a kernel file into the pool as shown below. + + CALL FURNSH ( 'frame_kernel_name' ) SPICELIB/FORTRAN + + furnsh_c ( "frame_kernel_name" ); CSPICE/C + + cspice_furnsh, "frame_kernel_name" ICY/IDL + + This file was created and may be updated with a text editor or word + processor. + + +VO2 Frames +------------------------------------------------------------------------------- + + The following VO2 frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== =================== ============ ======= + + Spacecraft frame: + ----------------- + VO2_SPACECRAFT rel.to B1950 CK -30900 + + Instrument Platform frame: + -------------------------- + VO2_PLATFORM rel.to B1950 CK -30000 + + Science Instrument frames: + -------------------------- + VO2_VISA rel.to PLATFORM FIXED -30001 + VO2_VISA_TD rel.to PLATFORM FIXED -30011 + VO2_VISB rel.to PLATFORM FIXED -30002 + VO2_VISB_TD rel.to PLATFORM FIXED -30012 + VO2_IRTM rel.to PLATFORM FIXED -30003 + VO2_MAWD rel.to PLATFORM FIXED -30004 + + +VO2 Frames Hierarchy +------------------------------------------------------------------------------- + + The diagram below shows VO2 frames hierarchy: + + + "B1950" INERTIAL + +-----------------------------------------------------------+ + | | | | + | <--pck | <--ck | <--ck | <--pck + | | | | + V V | V + "IAU_MARS" "V01_SPACECRAFT" | "IAU_EARTH" + ----------- ---------------- | ------------ + | + | + V + "VO2_PLATFORM" + +---------------------------------------------------------+ + | | | | | | + | <--fixed | <--fixed fixed--> | | | | <--fixed + | | | | | | + V V V | | V + "VO2_IRTM" "VO2_MAWD" "VO2_VISA" | | "VO2_VISB" + ---------- ---------- ---------- | | ---------- + | | + | | + fixed--> | | <--fixed + | | + V V + "VO2_VISA_TD" "VO2_VISB_TD" + ------------- ------------- + + +Spacecraft Bus Frame +------------------------------------------------------------------------------- + + The spacecraft frame is defined as follows: + + [TBD] + + This diagram illustrates the spacecraft bus frame: + + [TBD] + + 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_VO2_SPACECRAFT = -30900 + FRAME_-30900_NAME = 'VO2_SPACECRAFT' + FRAME_-30900_CLASS = 3 + FRAME_-30900_CLASS_ID = -30900 + FRAME_-30900_CENTER = -30 + CK_-30900_SCLK = -30 + CK_-30900_SPK = -30 + + \begintext + + +Instrument Platform Frame +------------------------------------------------------------------------------- + + The instrument platform frame is defined as follows: + + [TBD] + + This diagram illustrates the instrument platform frame: + + [TBD] + + Since the platform 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_VO2_PLATFORM = -30000 + FRAME_-30000_NAME = 'VO2_PLATFORM' + FRAME_-30000_CLASS = 3 + FRAME_-30000_CLASS_ID = -30000 + FRAME_-30000_CENTER = -30 + CK_-30000_SCLK = -30 + CK_-30000_SPK = -30 + + \begintext + + +VISA and VISB Frames +------------------------------------------------------------------------------- + + The frames for the Visual Imaging Subsystem Camera A (VISA) and + Camera B (VISB) -- VO2_VISA and VO2_VISB -- are defined as follows: + + - Z axis is along the camera boresight; + + - X axis is along detector lines and points toward the right + side of the image; + + - Y axis completes the right hand frame; + + - the origin of this frame is located at the camera focal point. + + This diagram illustrates the camera frames: + + [TBD] + + Since the cameras were rigidly mounted on the instrument platform + their frames are defined as fixed offset frames with respect to the + platform frame. + + The camera orientation with respect to the platform was specified in + [4] as the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the following angle values for each of the two cameras: + + VISA: + + CROSS_CONE = -0.679330, deg + CONE = -0.023270, deg + RASTER_ORIENTATION = 89.880691, deg + + VISB: + + CROSS_CONE = 0.663000, deg + CONE = -0.044000, deg + RASTER_ORIENTATION = 89.663790, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO2_VISA = -30001 + FRAME_-30001_NAME = 'VO2_VISA' + FRAME_-30001_CLASS = 4 + FRAME_-30001_CLASS_ID = -30001 + FRAME_-30001_CENTER = -30 + TKFRAME_-30001_SPEC = 'ANGLES' + TKFRAME_-30001_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30001_ANGLES = ( -0.679330, 0.023270, -89.880691 ) + TKFRAME_-30001_AXES = ( 1, 2, 3 ) + TKFRAME_-30001_UNITS = 'DEGREES' + + FRAME_VO2_VISB = -30002 + FRAME_-30002_NAME = 'VO2_VISB' + FRAME_-30002_CLASS = 4 + FRAME_-30002_CLASS_ID = -30002 + FRAME_-30002_CENTER = -30 + TKFRAME_-30002_SPEC = 'ANGLES' + TKFRAME_-30002_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30002_ANGLES = ( 0.663000, 0.044000, -89.663790 ) + TKFRAME_-30002_AXES = ( 1, 2, 3 ) + TKFRAME_-30002_UNITS = 'DEGREES' + + \begintext + + Thomas Duxbury provided a different set of angle values for the cameras + (see [5]): + + VISA: + + CROSS_CONE = -0.679300, deg + CONE = -0.023300, deg + RASTER_ORIENTATION = 89.880700, deg + + VISB: + + CROSS_CONE = 0.663000, deg + CONE = -0.044000, deg + RASTER_ORIENTATION = 89.663800, deg + + To make this alignment solution available, two more frames parallel + to the camera frames and including the ``_TB'' suffix in the name + and defined below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO1_VISA_TD = -30011 + FRAME_-30011_NAME = 'VO1_VISA_TD' + FRAME_-30011_CLASS = 4 + FRAME_-30011_CLASS_ID = -30011 + FRAME_-30011_CENTER = -30 + TKFRAME_-30011_SPEC = 'ANGLES' + TKFRAME_-30011_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-30011_ANGLES = ( -0.679300, 0.023300, -89.880700 ) + TKFRAME_-30011_AXES = ( 1, 2, 3 ) + TKFRAME_-30011_UNITS = 'DEGREES' + + FRAME_VO1_VISB_TD = -30012 + FRAME_-30012_NAME = 'VO1_VISB_TD' + FRAME_-30012_CLASS = 4 + FRAME_-30012_CLASS_ID = -30012 + FRAME_-30012_CENTER = -30 + TKFRAME_-30012_SPEC = 'ANGLES' + TKFRAME_-30012_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-30012_ANGLES = ( 0.663000, 0.044000, -89.663800 ) + TKFRAME_-30012_AXES = ( 1, 2, 3 ) + TKFRAME_-30012_UNITS = 'DEGREES' + + \begintext + + +IRTM Frame +------------------------------------------------------------------------------- + + The frame for the Infrared Thermal Mapper -- VO2_IRTM -- is defined + as follows: + + [TBD] + + This diagram illustrates the IRTM frame: + + [TBD] + + Since the IRTM instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO2_IRTM = -30003 + FRAME_-30003_NAME = 'VO2_IRTM' + FRAME_-30003_CLASS = 4 + FRAME_-30003_CLASS_ID = -30003 + FRAME_-30003_CENTER = -30 + TKFRAME_-30003_SPEC = 'ANGLES' + TKFRAME_-30003_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30003_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-30003_AXES = ( 1, 2, 3 ) + TKFRAME_-30003_UNITS = 'DEGREES' + + \begintext + + +MAWD Frame +------------------------------------------------------------------------------- + + The frame for the Mars Atmosphere Water Detector (MAWD) -- VO2_MAWD + -- is defined as follows: + + [TBD] + + This diagram illustrates the MAWD frame: + + [TBD] + + Since the MAWD instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO2_MAWD = -30004 + FRAME_-30004_NAME = 'VO2_MAWD' + FRAME_-30004_CLASS = 4 + FRAME_-30004_CLASS_ID = -30004 + FRAME_-30004_CENTER = -30 + TKFRAME_-30004_SPEC = 'ANGLES' + TKFRAME_-30004_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30004_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-30004_AXES = ( 1, 2, 3 ) + TKFRAME_-30004_UNITS = 'DEGREES' + + \begintext + + +Viking Orbiter 2 NAIF ID Codes -- Definition Section +======================================================================== + + This section contains name to NAIF ID mappings for the VO2. 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 and its structures: + ------------------------------ + + VIKING ORBITER 2 -30 + VO2 -30 + + VO2_SPACECRAFT_BUS -30900 + VO2_SC_BUS -30900 + VO2_SPACECRAFT -30900 + + VO2_INSTRUMENT_PLATFORM -30000 + VO2_PLATFORM -30000 + + Science Instruments: + -------------------- + + VO2_VISA -30001 + VO2_VISB -30002 + + VO2_IRTM -30003 + + VO2_MAWD -30004 + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'VIKING ORBITER 2' ) + NAIF_BODY_CODE += ( -30 ) + + NAIF_BODY_NAME += ( 'VO2' ) + NAIF_BODY_CODE += ( -30 ) + + NAIF_BODY_NAME += ( 'VO2_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -30900 ) + + NAIF_BODY_NAME += ( 'VO2_SC_BUS' ) + NAIF_BODY_CODE += ( -30900 ) + + NAIF_BODY_NAME += ( 'VO2_SPACECRAFT' ) + NAIF_BODY_CODE += ( -30900 ) + + NAIF_BODY_NAME += ( 'VO2_INSTRUMENT_PLATFORM' ) + NAIF_BODY_CODE += ( -30000 ) + + NAIF_BODY_NAME += ( 'VO2_PLATFORM' ) + NAIF_BODY_CODE += ( -30000 ) + + NAIF_BODY_NAME += ( 'VO2_VISA' ) + NAIF_BODY_CODE += ( -30001 ) + + NAIF_BODY_NAME += ( 'VO2_VISB' ) + NAIF_BODY_CODE += ( -30002 ) + + NAIF_BODY_NAME += ( 'VO2_IRTM' ) + NAIF_BODY_CODE += ( -30003 ) + + NAIF_BODY_NAME += ( 'VO2_MAWD' ) + NAIF_BODY_CODE += ( -30004 ) + + \begintext diff --git a/tests/pytests/data/f704b28/f704b28_0.xsp b/tests/pytests/data/f704b28/f704b28_0.xsp new file mode 100644 index 0000000000000000000000000000000000000000..c34e3bb2fbd52ff79bc35fbeee66a32c32a6f722 --- /dev/null +++ b/tests/pytests/data/f704b28/f704b28_0.xsp @@ -0,0 +1,418 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/SPK ' +'2' +'6' +'SPKMERGE ' +BEGIN_ARRAY 1 217 +'17jul78 ' +'-2855CCF9643998^8' +'-2855C20442B07^8' +'-1E' +'4' +'E' +'1' +217 +'-2855CA178D8AD2^8' +'5778B30424^2' +'AEF1660848^2' +'112E90E0D04^3' +'18528A98024^3' +'1F76844F344^3' +'269A7E06664^3' +'2A2C7AE1FF4^3' +'2DBE77BD984^3' +'31507499314^3' +'34E27174CA4^3' +'38746E50634^3' +'3C066B2BFC4^3' +'3F986807954^3' +'4144D68E85^3' +'391FCDB99^3' +'E7367D1AA9F138^3' +'-4A3E7264FB40E8^0' +'-1A72883E1B7259^3' +'14C0C6E20D5EC7^1' +'2121F9631CC502^4' +'24FC71043E443C^1' +'-D0E66956848C88^-3' +'D6B2EC3FAB9C5^-4' +'-114A36BA5B68FD^-4' +'1CD27CC111448B^-5' +'-3A85707B6B244C^-6' +'7E62FE39B0CAB8^-7' +'-D15D0471B3A388^-8' +'-18342A689BE436^-8' +'1C0CDBC210C906^-8' +'-DBD13F2E110EB8^-9' +'565345819DEC98^-9' +'-268BB81^-9' +'-17F72FAB6E776F^-9' +'0^0' +'0^0' +'1809C1B1F23E8D^-3' +'-82401B48C72C58^-4' +'E53C65767CAF08^-5' +'-1D425F281E63F5^-5' +'4811D791107AAC^-6' +'-C8B2D8BD7FB8B^-7' +'2416899EFEF784^-7' +'-4EB0B3E5B54EBC^-8' +'-1A596739F14CE4^-9' +'7E1230A21337BC^-9' +'-4A07A6A6819C1C^-9' +'24AA8A19^-9' +'0^0' +'0^0' +'0^0' +'-1DEE6018E0AEC6^-2' +'F3AB1A24C03DB^-4' +'-A963EAB325C2A8^-5' +'4FD433990A5944^-6' +'13B3931FDF1914^-6' +'-94C77C828C61C^-7' +'33862ED76AF3EC^-7' +'-F7EFA094ABDE38^-8' +'443EDBD4948828^-8' +'-10BAA896C95A08^-8' +'308D2AE50E79CC^-9' +'-548F4B^-A' +'0^0' +'0^0' +'0^0' +'D^1' +'C^1' +'B^1' +'B^1' +'-2855C5A66C739E^8' +'AEF1660848^2' +'1066A190C6C^3' +'15DE2CC109^3' +'1B55B7F14B4^3' +'20CD43218D8^3' +'2644CE51CFC^3' +'2BBC598212^3' +'3133E4B2544^3' +'36AB6FE2968^3' +'3C22FB12D8C^3' +'419A86431B^3' +'471211735D4^3' +'4C899CA39F8^3' +'520127D3E1C^3' +'5840A2542D8^3' +'CC471279EE5008^3' +'-72D2F185F0458^0' +'41B4D174E7664C^3' +'14951A53FA57F1^1' +'2A621FDB1F1AE^4' +'1E1535B9BDFB27^1' +'-639500687603F4^-3' +'B431860D982858^-4' +'-11EADAF973F71^-4' +'1FD36E122C23E1^-5' +'-3F82CF6A06084E^-6' +'8B9C6D8C293E28^-7' +'-1474BDD113E518^-7' +'3064A85E0DD0D6^-8' +'-64D51CD3EA144C^-9' +'4B7F7717C15838^-A' +'4B03183968231^-A' +'-33AA3B245DCF2^-A' +'19A6533494B559^-A' +'-C071A67E1AAAB^-B' +'4D555C^-B' +'-1FF17845A9B315^-3' +'-4ACCDBC9FE402^-4' +'BC208654E24CE^-5' +'-1A172784BC8AD1^-5' +'3D25617344864C^-6' +'-9B59E66B558C08^-7' +'1A9A546AA021FA^-7' +'-4D2BD0BB0CC138^-8' +'E53DA8C21CD5^-9' +'-28A5A3AE8173E4^-9' +'57BCD16DFE81F^-A' +'59AE272F0AD0A^-B' +'-D5376613F93B6^-B' +'8DEC6A^-B' +'0^0' +'-14A7DE72C19BE9^-2' +'11DC493272BC08^-3' +'-123E81A58FC5B5^-4' +'1427203E1EB0BB^-5' +'-12D6AA99A2FEB2^-6' +'-7E654A8A84001^-8' +'A34DCE5A7B205^-8' +'-39B53F2576B528^-8' +'119AEF57EFC6C3^-8' +'-53C66933D4A96^-9' +'18FDC57C08023A^-9' +'-77A298B9958F98^-A' +'22A31749F3BF86^-A' +'-9B6C5D37A6D98^-B' +'BF95^-C' +'F^1' +'E^1' +'D^1' +'E^1' +'-2855BE220D1142^8' +'AEF1660848^2' +'15DE2CC109^3' +'20CD43218D8^3' +'2BBC598212^3' +'36AB6FE2968^3' +'419A86431B^3' +'4C899CA39F8^3' +'5778B30424^3' +'6267C964A88^3' +'6D56DFC52D^3' +'7845F625B18^3' +'83350C8636^3' +'88AC97B6784^3' +'8E2422E6BA8^3' +'939BAE16FCC^3' +'8E87E891288A7^3' +'-8EF838B3E368C8^0' +'D7D5CCA114FA08^3' +'134754631B4F1A^1' +'369760BB037FA6^4' +'1680D37A8EA5B6^1' +'-211647B5D0C884^-3' +'36ABFD037B9BC4^-4' +'-575EC0CEDC8CC8^-5' +'B1A8ACD563F378^-6' +'-1BCFE49431D6E8^-6' +'5330A7A7128004^-7' +'-121562C31BAE24^-7' +'476B5A2905DEB^-8' +'-138C632877D2F4^-8' +'5C40ED25ED6B84^-9' +'-1C0B8FF8F196C4^-9' +'7E5E1C9CBED218^-A' +'-1910C975627BCE^-A' +'-17A9A^-A' +'-C42A5D90B21648^-B' +'-320D0AA32DE3F4^-3' +'-5599862CD93FF^-5' +'2485230391716C^-5' +'-6A9D4C39100D^-6' +'14638C3C896ED4^-6' +'-4667037B067F68^-7' +'11409DFF38B91C^-7' +'-4C3A45C062FF44^-8' +'177200B109C184^-8' +'-7EB4C830AC8A5C^-9' +'2E2D0E9BD0E63C^-9' +'-11AE90BCAAB55C^-9' +'6D87228624CCA^-A' +'-21D80666809AE^-A' +'AC569C^-B' +'-CAAEC87C677208^-3' +'7F8A8BE7B27EF8^-4' +'-89F680AFF32F2^-5' +'CC5DCC91C3135^-6' +'-1749792007B623^-6' +'2F7DBBC2763496^-7' +'-5BC91C334F6F1C^-8' +'39B8B3F22F4B38^-9' +'5173C481470DC^-9' +'-3DDE5001FBB2C8^-9' +'24DB7F6CCE09D^-9' +'-1569546A68E789^-9' +'354D22543ABDB^-A' +'0^0' +'0^0' +'F^1' +'E^1' +'E^1' +'C^1' +'-2855CA178D8ADA^8' +'-2855C5A66C73AC^8' +'-2855BE220D10F6^8' +'3^1' +END_ARRAY 1 217 +BEGIN_ARRAY 2 39 +'DE-0721LE-0721 ' +'-2855CCF9643998^8' +'-2855C20442B07^8' +'A' +'0' +'1' +'2' +39 +'-284B80C^8' +'A8C^5' +'B4DB8D39813D78^5' +'2219D62A9073FA^4' +'-ABC0EAEF2830A8^1' +'240A103C98C7C8^0' +'56571E34B9324C^-2' +'-4E7BDE09D32D38^-4' +'E64111B09E9EF^-5' +'-EE2EF26FA95DF^-6' +'-28CD908B30F476^-6' +'-9C68937F8CE058^-7' +'-844BAF93ECE28^-8' +'-7BEDB918342BAC^5' +'1038A382E451A5^4' +'117925862F7762^2' +'-9EFFCDAD4EDCB^-1' +'11102AE4DECE24^-1' +'26EDF525FF338E^-3' +'58C151D8901A9C^-4' +'32C264F1DE231C^-5' +'765C304ACF47F4^-6' +'2774C1A2ECD678^-7' +'1CF99F4487B249^-8' +'-3B24DFF5DF0DDE^5' +'5F53A2BEEACFC8^3' +'7BDF1CF183CCBC^1' +'-6FE8B48C360FAC^-1' +'7605B95819CF08^-2' +'103A21C1DC0A02^-3' +'2F9093CB4F39DE^-4' +'1CE4760929628E^-5' +'436080C1ABEEB^-6' +'2536C35BC5A74A^-7' +'1C776C546B97E5^-8' +'-28560CC^8' +'1518^6' +'23^2' +'1^1' +END_ARRAY 2 39 +BEGIN_ARRAY 3 39 +'DE-0721LE-0721 ' +'-2855CCF9643998^8' +'-2855C20442B07^8' +'4' +'0' +'1' +'2' +39 +'-28560CC^8' +'1518^6' +'-D2949EAA6D176^7' +'D912CFD8EF98F^6' +'F49705C27A7258^5' +'-174A261A48316B^4' +'-1661AEB7E518C2^3' +'-39DA7CB748E62C^1' +'-77D04C65911D7^-1' +'457A5A5DBB85B^-2' +'2C71F33C043268^-3' +'-4E8047E231E444^-5' +'C90C25153795A8^-7' +'-53305E42F0345C^7' +'-18192B9FCA53F3^7' +'5FEC3AE45CBC7^5' +'5192EF70AB5CE8^4' +'18358285CC8CCB^2' +'-2B6D9A7826FF46^1' +'-153C8EC5EB8023^0' +'-638B27BBE5F26C^-2' +'-A13449BED96E^-4' +'-7357BD25BDC1DC^-7' +'23C27C71CA4CEC^-5' +'-20712534C43D04^7' +'-B6BAD05BBB3D78^6' +'255F039BD6289E^5' +'260BA180638B02^4' +'14CD5A29B4E9B5^2' +'-12598D42131F4C^1' +'-98B92213E03238^-1' +'-2F66819D3481BA^-2' +'-585EB270B6B5C^-4' +'-1A3D1B2AE7FC82^-5' +'13C27A6F2C0833^-5' +'-286B24C^8' +'2A3^6' +'23^2' +'1^1' +END_ARRAY 3 39 +BEGIN_ARRAY 4 54 +'MAR097 ' +'-2855CCF9643998^8' +'-2855C20442B07^8' +'1F3' +'4' +'1' +'3' +54 +'-2855E29^8' +'2A3^4' +'15E7E8E157E3B1^-3' +'-77BC52C906DC84^-3' +'61985DFF0923EC^-3' +'2659CE2DE2093C^-3' +'-10A5A8E868AA4C^-3' +'-315B22832BCEA2^-4' +'10E1313CD804B9^-4' +'140AE41056658^-5' +'278D6CDE012C54^-3' +'-7F72238AADFEEC^-3' +'-3C4DBD539AABF8^-3' +'387A1D3596C98E^-3' +'85EC2FD6A362^-4' +'-551A81D5B7EF2C^-4' +'-533A488729EC1^-5' +'436AA73C8876E^-5' +'7BF8076F6A7728^-4' +'-18EBB5206BD3D^-4' +'-583B6DD884053C^-3' +'818A68979473F^-4' +'E0A7845E2BCD88^-4' +'-10FE773764FC12^-4' +'-C7C45CEE66172^-5' +'186C50A7BFA94C^-5' +'-76AFC215865DE^-7' +'66592872BA4FF8^-6' +'4BFC62994CD2CC^-6' +'-2DB50D66A45608^-6' +'-B489391AB4B518^-7' +'4CD239F87669B^-7' +'6A6B21559BB488^-8' +'0^0' +'6893AD155915C^-7' +'-43911A77A18CAC^-6' +'6DBDFD711F2F8C^-6' +'17EA84F0109567^-6' +'-12C6407976845B^-6' +'-17AC74341993EE^-7' +'165F50E8792347^-7' +'0^0' +'6DC3899DABFA9C^-7' +'-5ECD3DA68D7368^-6' +'EE6E33909DFD68^-7' +'270CB9C58F676A^-6' +'-3858B39D136578^-7' +'-38D29796DE7614^-7' +'81AD7A2FF8223^-8' +'0^0' +'-28560CC^8' +'546^4' +'32^2' +'1^1' +END_ARRAY 4 54 +TOTAL_ARRAYS 4 + ~NAIF/SPC BEGIN COMMENTS~ +; /home/pgiroux/Desktop/vo2_sliced/f704b28_0.bsp LOG FILE + +; Created 2019-09-27/11:28:08.00. +; +; BEGIN SPKMERGE COMMANDS + +LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls + +SPK_KERNEL = /home/pgiroux/Desktop/vo2_sliced/f704b28_0.bsp + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/viking2/kernels/spk/vo2_rcon.bsp + INCLUDE_COMMENTS = NO + BODIES = -30 + BEGIN_TIME = 1978 JUL 23 04:31:17.425 + END_TIME = 1978 JUL 23 05:18:02.556 + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/spk/mar097.bsp + INCLUDE_COMMENTS = NO + BODIES = 4, 10, 499 + BEGIN_TIME = 1978 JUL 23 04:31:17.425 + END_TIME = 1978 JUL 23 05:18:02.556 + +; END SPKMERGE COMMANDS + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f704b28/f704b28_isis3.lbl b/tests/pytests/data/f704b28/f704b28_isis3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..01b91f03bc5d1e539a69f34ce75e0a5acc92a867 --- /dev/null +++ b/tests/pytests/data/f704b28/f704b28_isis3.lbl @@ -0,0 +1,103 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 1204 + TileLines = 1056 + + Group = Dimensions + Samples = 1204 + Lines = 1056 + Bands = 1 + End_Group + + Group = Pixels + Type = UnsignedByte + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = VIKING_ORBITER_2 + InstrumentId = VISUAL_IMAGING_SUBSYSTEM_CAMERA_B + TargetName = MARS + StartTime = 1978-07-23T05:01:26 + ExposureDuration = 0.067880 <seconds> + SpacecraftClockCount = 60266453 + FloodModeId = ON + GainModeId = LOW + OffsetModeId = ON + End_Group + + Group = Archive + DataSetId = VO1/VO2-M-VIS-2-EDR-V2.0 + ProductId = 704B28 + MissonPhaseName = CONTINUATION_MISSION + ImageNumber = 60266453 + OrbitNumber = 704 + End_Group + + Group = BandBin + FilterName = MINUS_BLUE + FilterId = 2 + Center = 0.55 <micrometers> + Width = 0.22 <micrometers> + End_Group + + Group = Kernels + NaifFrameCode = -30002 + CameraVersion = 1 + End_Group + + Group = Reseaus + Line = (5, 7, 9, 10, 11, 12, 14, 15, 17, 19, 20, 135, 136, 137, 138, + 139, 140, 142, 143, 144, 146, 148, 149, 265, 266, 267, 268, + 269, 270, 271, 272, 274, 276, 278, 395, 395, 397, 398, 398, + 399, 400, 401, 402, 404, 406, 407, 525, 526, 526, 527, 528, + 528, 529, 530, 531, 533, 535, 654, 655, 655, 656, 657, 657, + 658, 659, 660, 661, 663, 664, 784, 784, 785, 785, 786, 786, + 787, 788, 789, 790, 793, 914, 914, 914, 914, 915, 915, 916, + 916, 917, 918, 920, 922, 1043, 1043, 1043, 1043, 1044, 1044, + 1045, 1045, 1046, 1048, 1051) + Sample = (23, 141, 257, 373, 489, 605, 720, 836, 952, 1068, 1185, 23, + 82, 199, 315, 431, 546, 662, 778, 894, 1010, 1126, 1184, 24, + 141, 257, 373, 489, 605, 720, 836, 952, 1068, 1184, 24, 82, + 199, 315, 432, 547, 663, 779, 895, 1011, 1127, 1184, 24, 141, + 258, 374, 490, 605, 721, 837, 953, 1070, 1185, 24, 83, 200, + 316, 432, 548, 664, 780, 896, 1012, 1128, 1185, 24, 142, 258, + 374, 490, 606, 722, 838, 954, 1070, 1186, 23, 82, 199, 316, + 432, 548, 664, 780, 896, 1013, 1129, 1186, 22, 140, 257, 374, + 489, 606, 722, 838, 954, 1071, 1187) + Type = (1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6) + Valid = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + Template = $viking2/reseaus/vo2.visb.template.cub + Status = Nominal + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = History + Name = IsisCube + StartByte = 1336961 + Bytes = 428 +End_Object + +Object = OriginalLabel + Name = IsisCube + StartByte = 1337389 + Bytes = 2042 +End_Object +End diff --git a/tests/pytests/data/f704b28/f704b28_pds3.lbl b/tests/pytests/data/f704b28/f704b28_pds3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..154343c271bfe87e213abaaddc47a551e913112d --- /dev/null +++ b/tests/pytests/data/f704b28/f704b28_pds3.lbl @@ -0,0 +1,1632 @@ +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL +/* FILE FORMAT AND LENGTH */ +RECORD_TYPE = VARIABLE_LENGTH +RECORD_BYTES = 1204 +FILE_RECORDS = 2176 +LABEL_RECORDS = 60 +/* POINTERS TO START RECORDS OF MAJOR OBJECTS IN FILE */ +^IMAGE_HISTOGRAM = 61 +^ENCODING_HISTOGRAM = 62 +^ENGINEERING_TABLE = 64 +^LINE_HEADER_TABLE = 65 +^IMAGE = 1121 +/* IMAGE DESCRIPTION */ +DATA_SET_ID = 'VO1/VO2-M-VIS-2-EDR-V2.0' +SPACECRAFT_NAME = VIKING_ORBITER_2 +MISSION_PHASE_NAME = CONTINUATION_MISSION +TARGET_NAME = MARS +IMAGE_ID = '704B28' +IMAGE_NUMBER = 60266453 +IMAGE_TIME = 1978-07-23T05:01:26Z +EARTH_RECEIVED_TIME = 1978-07-23T06:18:16Z +ORBIT_NUMBER = 704 +INSTRUMENT_NAME = VISUAL_IMAGING_SUBSYSTEM_CAMERA_B +GAIN_MODE_ID = LOW +FLOOD_MODE_ID = ON +OFFSET_MODE_ID = ON +FILTER_NAME = MINUS_BLUE +EXPOSURE_DURATION = 0.067880 <SECONDS> +NOTE = "MEDIUM RESOLUTION MAPPING SEQUENCE" +/* DESCRIPTION OF THE OBJECTS CONTAINED IN FILE */ +OBJECT = IMAGE_HISTOGRAM + ITEMS = 256 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENCODING_HISTOGRAM + ITEMS = 511 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENGINEERING_TABLE + ROWS = 1 + ROW_BYTES = 152 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = ENGINEERING_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 152 + NOTE = "This structure describes the format of + the engineering record that is included in each image file. + This record contains the first 152 bytes of data extracted from + the Mission and Test Imaging System (MTIS) header record on each + file of an imaging EDR tape." + + OBJECT = COLUMN + NAME = MTIS_RECORD_ID + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 1 + BYTES = 2 + DESCRIPTION = "Mission and Test Imaging System record + ID." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PHYSICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 3 + BYTES = 2 + DESCRIPTION = "Physical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Logical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 7 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of first line segment in the file containing valid + data. This field is NOT stored in VAX least significant byte + first format." + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). Time of first line record in the file containing valid + data. This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 7 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of last line segment of the file containing valid + data." + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 8 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + first line segment of the file containing valid data. Note that + this may not correspond to the FDS count for line 1, segment 1." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + last line segment of the file containing valid data. Note that + this may not correspond to the FDS count for segment 7 of line + 1056." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_ID + DATA_TYPE = CHARACTER + START_BYTE = 27 + BYTES = 6 + DESCRIPTION = "Tape reel identifier of the original + EDR tape for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_FILE_NUMBER + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "File number of image on original EDR + tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 34 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 36 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in the image. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Average pixel value for image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_1 + DATA_TYPE = CHARACTER + START_BYTE = 39 + BYTES = 4 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Minimum signal to noise ratio. The + minimum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Maximum signal to noise ratio. The + maximum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_2 + DATA_TYPE = CHARACTER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control minimum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control maximum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_3 + DATA_TYPE = CHARACTER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 55 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that contain some valid data (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 57 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were fully synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 59 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were partly synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 61 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 0 (maximum is 7 x 1056). + DQI0 indicates bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 63 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 1 (maximum is 7 x 1056). + DQI1 means SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 65 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 2 (maximum is 7 x 1056). + DQI2 means SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 67 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 3 (maximum is 7 x 1056). + DQI3 means SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 69 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 4 (maximum is 7 x 1056). + DQI4 means SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FDS_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 71 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected FDS counts." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 73 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = ADJUSTED_PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 75 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes adjusted based on the + number of line segments processed versus the total in a full + image (7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNREADABLE_RECORDS + DATA_TYPE = VAX_INTEGER + START_BYTE = 77 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that could not be read from the Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 79 + BYTES = 2 + DESCRIPTION = "Total number of breaks in logical + sequence number in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DATA_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 81 + BYTES = 2 + DESCRIPTION = "Total number of breaks in data + sequence in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_4 + DATA_TYPE = CHARACTER + START_BYTE = 83 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 85 + BYTES = 2 + DESCRIPTION = "Total number of lines in the file that + contain some valid data (nominal is 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 87 + BYTES = 2 + DESCRIPTION = "Number of lines in the file that are + composed of seven line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTIAL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 89 + BYTES = 2 + DESCRIPTION = "Total number of line records in the + file that contain some valid data but are not composed of seven + line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 91 + BYTES = 2 + DESCRIPTION = "First line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 93 + BYTES = 2 + DESCRIPTION = "Last line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_5 + DATA_TYPE = CHARACTER + START_BYTE = 95 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = IMAGE_ID + DATA_TYPE = CHARACTER + START_BYTE = 97 + BYTES = 6 + DESCRIPTION = "Image identifier (PICNO) for this + image, formatted OOOSNN, where OOO is orbit number, S is + spacecraft identifier (A for Viking Orbiter 1 prime and extended + missions; B for Viking Orbiter 2; and S for Viking Orbiter 1 + Survey mission)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VRP_RUN_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 103 + BYTES = 2 + DESCRIPTION = "Viking Reconstruction Processing run + number." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DISK_ID + DATA_TYPE = CHARACTER + START_BYTE = 105 + BYTES = 6 + DESCRIPTION = "MTIS disk identifier of the original + EDR file for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_6 + DATA_TYPE = CHARACTER + START_BYTE = 111 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 113 + BYTES = 2 + DESCRIPTION = "Transmitted command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. Where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step indicator." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD2 + DATA_TYPE = INTEGER + START_BYTE = 115 + BYTES = 2 + DESCRIPTION = "Transmitted command code word 2 for + this image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_NUMBER + START_BIT = 10 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter number: where 1 is blue; 2 is + minus blue; 3 is violet; 4 is clear; 5 is green; and 6 is red." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CAMERA_SERIAL_NUMBER + START_BIT = 13 + BITS = 4 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Visual Imaging Subsystem camera serial + number." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = RECEIVED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 117 + BYTES = 2 + DESCRIPTION = "Received command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current (beam) off (0) or on + (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS50_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 121 + BYTES = 2 + DESCRIPTION = "Plus 50 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 123 + BYTES = 2 + DESCRIPTION = "Plus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS12_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 125 + BYTES = 2 + DESCRIPTION = "Plus 12 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS5_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 127 + BYTES = 2 + DESCRIPTION = "Plus 5 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 129 + BYTES = 2 + DESCRIPTION = "Minus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS23_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 131 + BYTES = 2 + DESCRIPTION = "Minus 23 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_AVERAGE_VIDEO + DATA_TYPE = VAX_INTEGER + START_BYTE = 133 + BYTES = 2 + DESCRIPTION = "Average video." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = POWER_CONVERTER_INPUT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 135 + BYTES = 2 + DESCRIPTION = "Power converter input current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 137 + BYTES = 2 + DESCRIPTION = "Cathode current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 139 + BYTES = 2 + DESCRIPTION = "Cathode voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILAMENT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 141 + BYTES = 2 + DESCRIPTION = "Filament current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FRAME_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 143 + BYTES = 2 + DESCRIPTION = "Frame sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 145 + BYTES = 2 + DESCRIPTION = "Line sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = GRID3_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 147 + BYTES = 2 + DESCRIPTION = "Grid 3 voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FOCUS_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 149 + BYTES = 2 + DESCRIPTION = "Focus current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DIGITAL_LADDER + DATA_TYPE = VAX_INTEGER + START_BYTE = 151 + BYTES = 2 + DESCRIPTION = "Digital ladder." + END_OBJECT = COLUMN + +END_OBJECT = ENGINEERING_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = LINE_HEADER_TABLE + ROWS = 1056 + ROW_BYTES = 62 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = LINE_HEADER_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 62 + NOTE = "Viking Orbiter Image Line-header + Structure. This label describes the structure of the 62-bytes + extracted from the end of each image line." + + OBJECT = COLUMN + NAME = FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 1 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem (FDS) clock + count." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Flight Data Subsystem line number, + extracted from the telemetry record header information." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 7 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 8 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in this line. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Average pixel value for this line." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + line that contain some valid data (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were fully synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were partly synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 0 (maximum is 7), indicating + bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 1 (maximum is 7), indicating + SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 21 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 2 (maximum is 7), indicating + SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 3 (maximum is 7), indicating + SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 25 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 4 (maximum is 7), indicating + SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 27 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 29 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 31 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 35 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 39 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 41 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EMBEDDED_SCIENCE_DATA + ITEMS = 7 + DATA_TYPE = INTEGER + START_BYTE = 55 + ITEM_BYTES = 1 + DESCRIPTION = "Embedded low rate science data from + seven segments." + END_OBJECT = COLUMN + +END_OBJECT = LINE_HEADER_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = IMAGE + ENCODING_TYPE = HUFFMAN_FIRST_DIFFERENCE + LINES = 1056 + LINE_SAMPLES = 1204 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 + SAMPLE_BIT_MASK = 2#11111110# + CHECKSUM = 157067616 +END_OBJECT +END diff --git a/tests/pytests/data/f704b28/naif0012.tls b/tests/pytests/data/f704b28/naif0012.tls new file mode 100644 index 0000000000000000000000000000000000000000..e1afdee1b626e01a3f1b04ef8a43154e83972e56 --- /dev/null +++ b/tests/pytests/data/f704b28/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/f704b28/pck00009.tpc b/tests/pytests/data/f704b28/pck00009.tpc new file mode 100644 index 0000000000000000000000000000000000000000..bfadaab2b26817327189ff3173e9609f49dedc9d --- /dev/null +++ b/tests/pytests/data/f704b28/pck00009.tpc @@ -0,0 +1,3639 @@ +KPL/PCK + + +P_constants (PcK) SPICE kernel file +=========================================================================== + + By: Nat Bachman (NAIF) 2010 March 3 + + +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/IAG + 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 + + +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 and planets. + Additional items included in this section: + + - Earth north geomagnetic centered dipole values + for epochs 1945-2000 + + - Mars prime meridian offset "lambda_a" + + -- Orientation constants for satellites + + -- Orientation constants for asteroids Eros, Gaspra, Ida, + Itokawa, and Vesta + + -- Orientation constants for comets 19P/Borrelly + and 9P/Tempel 1 + + + Radii of Bodies + --------------- + + -- Radii of Sun and planets + + -- Radii of satellites, where available + + -- Radii of asteroids Ceres, Eros, Gaspra, Ida, Itokawa, + Mathilde, Toutatis, and Vesta. + + -- Radii of comets 19P/Borrelly, Halley, 9P/Tempel 1, + and 81P/Wild 2 + + + +Version Description +-------------------------------------------------------- + + This file was created on March 3, 2010. This version + incorporates data from reference [1]. + + This file contains size, shape, and orientation data for all + objects described by the previous version of the file, except + for Kleopatra: a shape model for this body is not provided in [1] + because, according to this source, it had been "modeled from + low resolution radar data, and cannot be mapped from those + data." + + New objects covered by this file but not the previous + version are: + + 19P/Borrelly + Halley + 9P/Tempel 1 + 81P/Wild 2 + Ceres + Itokawa + Mathilde + Toutatis + + +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, and version description section if you modify + this file. + +Known Limitations and Caveats + + Accuracy + -------- + + In general, the orientation models given here are claimed by the + IAU/IAG 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]) 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. 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 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. A more + accurate approximation can be obtained by using both the NAIF + lunar frame kernel and the binary lunar orientation PCK file, + which 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 + J2000 epoch 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]. + + + Mars prime meridian offset + -------------------------- + + The Mars prime meridian offset given by [5] is not used by + SPICE geometry software for computations involving the shape + of Mars (for example, in sub-observer point or surface intercept + computations). The value 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 only planets for which such terms are used are + Jupiter and Neptune. Use of trigonometric polynomial terms for + natural satellites is and has been supported for all SPICE Toolkit + versions. + + 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 +-------------------------------------------------------- + + The sources for the constants listed in this file are: + + + [1] 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." + + [2] Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F., + Cruikshank, D.P., Hilton, J.L., Keller, H.U., Oberst, J., + Simon, J.L., Stooke, P., Tholen, D.J., and Thomas, P.C. + "Report of the IAU/IAG Working Group on Cartographic + Coordinates and Rotational Elements of the Planets and + Satellites: 2003." + + [3] 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. + + [4] Nautical Almanac Office, United States Naval Observatory, + H.M. Nautical Almanac Office, Royal Greenwich + Observatory, Jet Propulsion Laboratory, Bureau des + Longitudes, and The Time Service and Astronomy + Departments, United States Naval Observatory (1992). + "Explanatory Supplement to the Astronomical Almanac," P. + Kenneth Seidelmann, ed. University Science Books, 20 + Edgehill Road, Mill Valley, CA 9494. + + [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. + + + Most values are from [1]. All exceptions are + commented where they occur in this file. The exceptions are: + + + -- Radii for the Sun are from [3]. + + -- 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 + [8]. The article [6] was used to check most of + these values, and the values were also re-computed from + the 9th generation IGRF [9] by Nat Bachman. + + -- The Mars prime meridian offset angle is from [5]. + + + "Old values" listed are from the SPICE P_constants file + pck00008.tpc dated September 21, 2004. Most of these values came + from the 2003 IAU report [2]. + + + + +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.14 6378.14 6356.75 ) + + 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.14 + 6378.14 + 6356.75 ) + + 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 2006 IAU/IAG 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 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 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, 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: 2006 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.5366420 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 term is zero for all bodies except Mars. It represents the + angular offset between the meridian containing the longest axis of + the triaxial ellipsoid used to model a body's surface and the + prime meridian of the body. + + 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 2006 IAU report does + not use any other models, except in the case of Mars, where + separate values are given for the north and south polar radii. + + 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.14 6378.14 6356.75 ) + + +Body Numbers 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 + + + 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 + 2000004 Asteroid Vesta + 2000216 Asteroid Kleopatra + 2000253 Asteroid Mathilde + 2000433 Asteroid Eros + 2004179 Asteroid Toutatis + 2025143 Asteroid Itokawa + 2431010 Asteroid Ida + 9511010 Asteroid Gaspra + + +Orientation Constants for the Sun and Planets +-------------------------------------------------------- + + +Sun + + Old values: + + Values are from the 2003 IAU report. + + + body10_pole_ra = ( 286.13 0. 0. ) + body10_pole_dec = ( 63.87 0. 0. ) + body10_pm = ( 84.10 14.18440 0. ) + body10_long_axis = ( 0. ) + + 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 unchanged in the 2006 IAU report. + + + Current values: + + \begindata + + BODY199_POLE_RA = ( 281.01 -0.033 0. ) + BODY199_POLE_DEC = ( 61.45 -0.005 0. ) + BODY199_PM = ( 329.548 6.1385025 0. ) + + BODY199_LONG_AXIS = ( 0. ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 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 2006 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: + + Old 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 ) + + + Current values: + + 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 + + + Values are given for the epoch 2000 and are from the final row + of the above table, which is from [8]. As shown by the table + these values constitute a low-accuracy approximation for epochs + not close to 2000. + + \begindata + + BODY399_N_GEOMAG_CTR_DIPOLE_LON = ( 288.43 ) + BODY399_N_GEOMAG_CTR_DIPOLE_LAT = ( 79.54 ) + + \begintext + + +Mars + + Old values: + + Values are unchanged in the 2006 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: + + Values are from the 2003 IAU report. + + + body599_pole_ra = ( 268.05 -0.009 0. ) + body599_pole_dec = ( 64.49 0.003 0. ) + body599_pm = ( 284.95 870.5366420 0. ) + body599_long_axis = ( 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.35 2382.6 + 113.35 6070.0 + 146.64 182945.8 + 49.24 90274.4 ) + + + + 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.5366420 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 unchanged in the 2006 IAU report. + + Current values: + + \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 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. + + + \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 + 29.80 -52.1 + 706.64 151413.4 + 57.44 151413.4 ) + \begintext + + +Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 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 + + + +Pluto + + Old values: + + Values are from the 2003 IAU report. + + BODY999_POLE_RA = ( 313.02 0. 0. ) + BODY999_POLE_DEC = ( 9.09 0. 0. ) + BODY999_PM = ( 236.77 -56.3623195 0. ) + BODY999_LONG_AXIS = ( 0. ) + + + Current values: + + \begindata + + 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. ) + + \begintext + + + + +Orientation constants for the satellites +-------------------------------------------------------- + + +Satellites of Earth + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 from the 2003 IAU report. + + + body502_pole_ra = ( 268.08 -0.009 0. ) + body502_pole_dec = ( 64.51 0.003 0. ) + body502_pm = ( 35.67 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 ) + + + 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Enceladus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Tethys + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Dione + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Rhea + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 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. ) + + \begintext + + + + Titan + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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 ) + + \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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Phoebe + + + Old values: + + Values are from the 2003 IAU report. + + body609_pole_ra = ( 355.00 0. 0. ) + body609_pole_dec = ( 68.70 0. 0. ) + body609_pm = ( 304.70 930.8338720 0. ) + body609_long_axis = ( 0. ) + + 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 2006 IAU report. + + Current values: + + \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. 0.023 ) + BODY610_NUT_PREC_DEC = ( 0. -0.183 0. 0. 0. 0. 0. 0. 0.001 ) + BODY610_NUT_PREC_PM = ( 0. 1.613 0. 0. 0. 0. 0. 0. -0.023 ) + + \begintext + + + + Epimetheus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 0.086 0. ) + BODY611_NUT_PREC_DEC = ( -0.356 0. 0. 0. 0. 0. 0. 0.005 0. ) + BODY611_NUT_PREC_PM = ( 3.133 0. 0. 0. 0. 0. 0. -0.086 0. ) + + \begintext + + + + Helene + + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 report [1] states that values for Nereid are not + given because Nereid is not in synchronous rotation with Neptune + (p. 167). + + + + Naiad + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2003 IAU report. + + body901_pole_ra = ( 313.02 0. 0. ) + body901_pole_dec = ( 9.09 0. 0. ) + body901_pm = ( 56.77 -56.3623195 0. ) + body901_long_axis = ( 0. ) + + Current values: + + \begindata + + 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. ) + + \begintext + + + +Orientation constants for Selected Comets and Asteroids +-------------------------------------------------------- + + + +19P/Borrelly + + + 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 + + + +9P/Tempel 1 + + + 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 + + +Vesta + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY2000004_POLE_RA = ( 301. 0. 0. ) + BODY2000004_POLE_DEC = ( 41. 0. 0. ) + BODY2000004_PM = ( 292. 1617.332776 0. ) + BODY2000004_LONG_AXIS = ( 0. ) + + \begintext + +Eros + + Old values: + + Values are unchanged in the 2006 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 + + +Itokawa + + + 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 + + + +Ida + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + +Gaspra + + Old values: + + Values are unchanged in the 2006 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 + + + + + + + + + + +Radii of Sun and Planets +-------------------------------------------------------- + + +Sun + + Value for the Sun is from the [3], page K7. + + \begindata + + BODY10_RADII = ( 696000. 696000. 696000. ) + + \begintext + + +Mercury + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY199_RADII = ( 2439.7 2439.7 2439.7 ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY299_RADII = ( 6051.8 6051.8 6051.8 ) + + \begintext + + +Earth + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + + \begindata + + BODY399_RADII = ( 6378.14 6378.14 6356.75 ) + + \begintext + + +Mars + + + Old values: + + body499_radii = ( 3397. 3397. 3375. ) + + Current values: + + + The IAU report gives separate values for the north and south + polar radii: + + north: 3373.19 + south: 3379.21 + + We use the average of these values 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 2006 IAU report. + + Current values: + + \begindata + + BODY599_RADII = ( 71492 71492 66854 ) + + \begintext + + + +Saturn + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY699_RADII = ( 60268 60268 54364 ) + + \begintext + + + +Uranus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY799_RADII = ( 25559 25559 24973 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + (Values are for the 1 bar pressure level.) + + \begindata + + BODY899_RADII = ( 24764 24764 24341 ) + + \begintext + + + +Pluto + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY999_RADII = ( 1195 1195 1195 ) + + \begintext + + + + +Radii of Satellites +-------------------------------------------------------- + + +Moon + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY301_RADII = ( 1737.4 1737.4 1737.4 ) + + \begintext + + + +Satellites of Mars + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY401_RADII = ( 13.4 11.2 9.2 ) + BODY402_RADII = ( 7.5 6.1 5.2 ) + + \begintext + + + +Satellites of Jupiter + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY501_RADII = ( 1829.4 1819.3 1815.7 ) + BODY502_RADII = ( 1564.13 1561.23 1560.93 ) + BODY503_RADII = ( 2632.4 2632.29 2632.35 ) + BODY504_RADII = ( 2409.4 2409.2 2409.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 ) + + \begintext + + 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. + \begindata + + BODY516_RADII = ( 21.5 21.5 21.5 ) + + \begintext + + + +Satellites of Saturn + + + Old values: + + Values are from the 2003 IAU report. + + body601_radii = ( 209.1 196.2 191.4 ) + body602_radii = ( 256.3 247.3 244.6 ) + body603_radii = ( 535.6 528.2 525.8 ) + body604_radii = ( 560 560 560 ) + body605_radii = ( 764 764 764 ) + body606_radii = ( 2575 2575 2575 ) + body607_radii = ( 164 130 107 ) + body608_radii = ( 718 718 718 ) + body609_radii = ( 115 110 105 ) + 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) was given in the + 2003 IAU report: + + body612_radii = ( 17.5 --- --- ) + + The mean radius was 16km; we used this radius for all three axes, as + we do for the satellites for which only the mean radius is available. + + + body612_radii = ( 16 16 16 ) + 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 ) + + + + Current values: + + \begindata + + 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 ) + + \begintext + + 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. + + + \begindata + + 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 ) + + \begintext + + + For Pan, only a mean radius is given in the 2006 report. + + \begindata + + BODY618_RADII = ( 10 10 10 ) + + \begintext + + + +Satellites of Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 IAU report. + + Current values: + + The 2000 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 2000 + 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 from the 2003 IAU report. + + BODY901_RADII = ( 593 593 593 ) + + Current values: + + \begindata + + BODY901_RADII = ( 605 605 605 ) + + \begintext + + + +Radii for Selected Comets and Asteroids +-------------------------------------------------------- + + +19P/Borrelly + + + 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 + + + +Halley + + + Current values: + + \begindata + + BODY1000036_RADII = ( 8.0 4.0 4.0 ) + + \begintext + + + +9P/Tempel 1 + + + 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 + + +81P/Wild 2 + + + Current values: + + + \begindata + + BODY1000107_RADII = ( 2.7 1.9 1.5 ) + + \begintext + + +Ceres + + + Current values: + + + \begindata + + BODY2000001_RADII = ( 487.3 487.3 454.7 ) + + \begintext + + +Vesta + + + Current values: + + + \begindata + + BODY2000004_RADII = ( 289. 280. 229. ) + + \begintext + + +Toutatis + + + Current values: + + + \begindata + + BODY2004179_RADII = ( 2.13 1.015 0.85 ) + + \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 2006 report. + + +Mathilde + + + Current values: + + + \begindata + + BODY2000253_RADII = ( 33. 24. 23. ) + + \begintext + +Eros + + + Current values: + + + \begindata + + BODY2000433_RADII = ( 17.0 5.5 5.5 ) + + \begintext + + +Itokawa + + + Current values: + + + \begindata + + BODY2025143_RADII = ( 0.535 0.294 0.209 ) + + \begintext + + + +Gaspra + + + Current values: + + + \begindata + + BODY9511010_RADII = ( 9.1 5.2 4.4 ) + + \begintext + + + + +Ida + + + Current values: + + + \begindata + + BODY2431010_RADII = ( 26.8 12.0 7.6 ) + + \begintext + + + +=========================================================================== +End of file pck00009.tpc +=========================================================================== + + + diff --git a/tests/pytests/data/f704b28/vikingAddendum003.ti b/tests/pytests/data/f704b28/vikingAddendum003.ti new file mode 100644 index 0000000000000000000000000000000000000000..b84e8a81eddcfdd2ab1919dab123bf5f08d5399a --- /dev/null +++ b/tests/pytests/data/f704b28/vikingAddendum003.ti @@ -0,0 +1,23 @@ +\begindata +INS-30001_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-30001_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-30001_ITRANSS = ( 0.0, 85.0, 0.0) +INS-30001_ITRANSL = ( 0.0, 0.0, 85.0) + +INS-30002_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-30002_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-30002_ITRANSS = ( 0.0, 85.0, 0.0) +INS-30002_ITRANSL = ( 0.0, 0.0, 85.0) + +\begintext +These are the parameters for writing c-kernels. Isis will create ck +with the same frame endpoints as the mission ck. For Viking1 the ck +instrument frame is VO2_PLATFORM (-30000) and the ck reference frame +is B1950 (2) or J2000 (1), depending on the ck used. The mdim2.0_rand +ck is in J2000. + +\begindata +INS-30001_CK_FRAME_ID=-30000 +INS-30001_CK_REFERENCE_ID=2 +INS-30002_CK_FRAME_ID=-30000 +INS-30002_CK_REFERENCE_ID=2 diff --git a/tests/pytests/data/f704b28/vo2_fict.tsc b/tests/pytests/data/f704b28/vo2_fict.tsc new file mode 100644 index 0000000000000000000000000000000000000000..f6c2ed107b663439690e01527eb8125e73642e66 --- /dev/null +++ b/tests/pytests/data/f704b28/vo2_fict.tsc @@ -0,0 +1,134 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO2_FICT.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 2" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO2_FICT.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:21 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION + } +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 = MARS +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 = "SCLK file implementing fictitious clock +used to tag orientation data in the VO2 CK files. This SCLK file does NOT +represent real Viking Orbiter 2 on-board clock but rather is a simple +counter of milliseconds since 1 Jan 1976 00:00:00. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 2 "fictitious" SCLK Kernel +-------------------------------------------------------- + + This file contains the data necessary to convert between the + 'fictitious' Viking Orbiter 2 on-board clock times used as tags + for pointing instances in Viking Orbiter 2 CK files and ephemeris + time. + + NAIF suggests that you do not modify this file. If you do modify + it, be sure to indicate this in the `Version' section below. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are simply the number of seconds that have passed since the UTC + epoch 1 Jan 1976 00:00:00. Thus 288929292.827 simply represents + the epoch that occurs 288929292.827 seconds past the UTC epoch + 1 Jan 1976. + + For all time, the clock runs at the same rate as Terrestrial + Dynamical Time (TDT). There is only one partition for this clock. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + + \begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_30 = ( 1 ) + + SCLK01_TIME_SYSTEM_30 = ( 2 ) + SCLK01_N_FIELDS_30 = ( 2 ) + SCLK01_MODULI_30 = ( 10000000000 1000 ) + SCLK01_OFFSETS_30 = ( 0 0 ) + SCLK01_OUTPUT_DELIM_30 = ( 1 ) + + SCLK_PARTITION_START_30 = ( 0.0000000000000E+00 ) + SCLK_PARTITION_END_30 = ( 1.00000000E+14 ) + SCLK01_COEFFICIENTS_30 = ( 0.00000000E+00 + @01-JAN-1976-00:00:47.184 + 1 ) + + \begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f704b28/vo2_fsc.tsc b/tests/pytests/data/f704b28/vo2_fsc.tsc new file mode 100644 index 0000000000000000000000000000000000000000..d3b30a16469e17ab63230b7fbb1e186e39d68883 --- /dev/null +++ b/tests/pytests/data/f704b28/vo2_fsc.tsc @@ -0,0 +1,193 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO2_FSC.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 2" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO2_FSC.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:21 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION + } +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 = MARS +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 = "SCLK file containing linear piecewise +function representing VO2 FSC on-board clock. This function was generated as +the result of VO2 image time tags restoration. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 2 Reconstructed Frame Start Count (FSC) SCLK file +-------------------------------------------------------- + + This file contain data necessary to convert a Viking Orbiter 2 + FSC count to the ET time corresponding to it. These data are + based on the results of VO2 image times reconstruction done at + NAIF/JPL. The process of this reconstruction is described in + detail in the "VO Image Time Reconstruction" document. + + Note that the main purpose of this file is to store the + reconstructed FSC counter; the on-board clock defined by the + function in this file was not used to time tag any of the + orientation data in CK files. + + To avoid confusion with the other VO2 clock used for time tagging, + the FSC on-board clock in this file was assigned the NAIF ID + code -30999. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are the eight digit VO2 FSC count associated with each VO2 image. + Note that the actual "image time" (the time of the beginning, + middle or the end of exposure) has a significant offset from + the FSC tick start time. This offset depends on the exposure + duration and is described in the "VO Image Time Reconstruction" + document. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + +\begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_30999 = ( 1 ) + SCLK01_TIME_SYSTEM_30999 = ( 2 ) + SCLK01_N_FIELDS_30999 = ( 1 ) + SCLK01_MODULI_30999 = ( 80000000 ) + SCLK01_OFFSETS_30999 = ( 46442015 ) + SCLK01_OUTPUT_DELIM_30999 = ( 1 ) + + SCLK_PARTITION_START_30999 = ( + 0 + 357985 + 777985 + 1057985 + 1268246 + 1457985 + 2581493 + 4701667 + 5412787 + 6557985 + 6810335 + 7107985 + 9390838 + 10007985 + 10607985 + 11107985 + 12557985 + ) + + SCLK_PARTITION_END_30999 = ( + 357985 + 777985 + 1057985 + 1268246 + 1457985 + 2581493 + 4701667 + 5412787 + 6557985 + 6810335 + 7107985 + 9390838 + 10007985 + 10607985 + 11107985 + 12557985 + 13843304 + ) + + SCLK01_COEFFICIENTS_30999 = ( + + 0 -738643373.631604 4.480001294 + 357985 -737039600.324536 4.480001238 + 777985 -735157999.769837 4.480001240 + 1057985 -733903599.385587 4.480001244 + 1268246 -732961629.770622 4.480001297 + 1457985 -732111598.747130 4.480001301 + 2581493 -727078280.882439 4.480001764 + 4701667 -717579897.536827 4.480001764 + 5412787 -714394078.461940 4.480001817 + 6557985 -709263589.346238 4.480001599 + 6810335 -708133060.592218 4.480001867 + 7107985 -706799588.012369 4.480001868 + 9390838 -696572402.934857 4.480001454 + 10007985 -693807583.640654 4.480001937 + 10607985 -691119582.502621 4.480001298 + 11107985 -688879581.719291 4.480001364 + 12557985 -682383579.531742 4.480001393 + ) + +\begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f704b28/vo2_sedr_ck2_0_sliced_-30000.xc b/tests/pytests/data/f704b28/vo2_sedr_ck2_0_sliced_-30000.xc new file mode 100644 index 0000000000000000000000000000000000000000..33400df90b7602d3ea7a86303ab395a1d0edba26 --- /dev/null +++ b/tests/pytests/data/f704b28/vo2_sedr_ck2_0_sliced_-30000.xc @@ -0,0 +1,691 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/CK ' +'2' +'6' +'VO2 PLATFORM ATTITUDE; CREATED BY BVS/NAIF; 2006-FEB-09 ' +BEGIN_ARRAY 1 670 +'VO2 ATT. BASED ON GEM AND SEDR FILES ' +'12CAEC0F81^A' +'12CB16DD0C^A' +'-7530' +'2' +'2' +'1' +670 +'605119A622EED4^-1' +'-2FEA9A6DF74D3^0' +'FB2C40430DD82^0' +'AC4E997ABF6BA^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'255A22C8133C18^0' +'-3261BEC01642EA^0' +'F802BA3ECE62C^0' +'9A78BF8F157808^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'25C664C87C4C64^0' +'-32644F54805834^0' +'F7F2FF8117D79^0' +'988C7B7F485C18^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'26E657FCC6F154^0' +'-3270DBFC951E32^0' +'F7C5C769FE9498^0' +'957A128A1F1DD^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'281C7686E4208^0' +'-3276FF057292D6^0' +'F795B04AE0A9A^0' +'911004AEA0519^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'29295601B59754^0' +'-327E2D06ED940E^0' +'F769B23D4D02^0' +'8E469D15445628^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2A43AED68DCEE8^0' +'-3286576B74CD46^0' +'F73AC149226658^0' +'8A22E15E50A9^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2B528A07F4DA14^0' +'-3286ED81A77D24^0' +'F70D8EAE7745B^0' +'86D65496B65F8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2C6DAFD92DEDD^0' +'-3290A8D8B0211E^0' +'F6DB337C87C45^0' +'833BC222576A7^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2D897A2B28DAD4^0' +'-32998CE0733EBC^0' +'F6A78B1C02BA4^0' +'7F9CF083F641D8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2EADC4DFDE7BE6^0' +'-329B6D0540A662^0' +'F67252E7722818^0' +'7C083754CAB008^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2FB4484B661ECE^0' +'-32A2AB6A689B94^0' +'F64036651B577^0' +'78ADEECD4A8E8C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'30D577F991E49E^0' +'-32ABD6106CEAFE^0' +'F60764B83162E^0' +'74FF310118195^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'31DB407AACE2AA^0' +'-32B39E800AFD82^0' +'F5D2D78A73867^0' +'71A0D77648098^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'32FF85ED0136FC^0' +'-32B3E3C5ED1F5E^0' +'F5986FD78B73E8^0' +'6E09CA32CB1FE^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3404EB3A576964^0' +'-32BB07C4CC8B9C^0' +'F56199136F43C^0' +'6AADE34475C1E4^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'351EE0FBDBD18A^0' +'-32C25468E5D6AA^0' +'F525338249649^0' +'670E73A956C52C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'36376D0950591E^0' +'-32C6E6AA4811E8^0' +'F4E8844C2448D8^0' +'62E765478EBE58^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'374EF4190707AA^0' +'-32CB47B2DBA8C2^0' +'F4AAB69175DC^0' +'5EC296D24CB4B^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3852D26BE981C4^0' +'-32D110BAED73BA^0' +'F46F79AC9C635^0' +'5B68678AE96CF^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'39594FCEC43A2E^0' +'-32DC8786FD6476^0' +'F430E0E9A9B5C^0' +'5918E3DC00A75^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3A5C2659864072^0' +'-32DF560DB69114^0' +'F3F45456ECA6E^0' +'55342E8F6D0F08^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3B7A678835A11E^0' +'-32E5E3FD5A562A^0' +'F3AF0DBBB1F4C^0' +'51805A7EB18984^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2368F7642AC718^0' +'-32460A395E72DA^0' +'F84EC390DA0E7^0' +'9E63895D90BA2^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'23F6FB1D086E44^0' +'-3243D7AB9B9EC4^0' +'F83BD452A03D6^0' +'9CC26083716D98^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'25179A2C603786^0' +'-324CDCE2D3A36A^0' +'F81163FFDA2D4^0' +'99C3400940FE48^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'261BF14EFBE922^0' +'-3253009FA165C^0' +'F7EAA02E907488^0' +'969435DC41B3A^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2732017C9EB166^0' +'-3254D5DDB9A738^0' +'F7C0E4E72EF958^0' +'933CF66D7A2678^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'284F612825334C^0' +'-326049AA070FA^0' +'F792DF5BF08D88^0' +'8FA41D0AD07EB8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'296429E2F43BAE^0' +'-32618CEFA11856^0' +'F766D74F6261A^0' +'8C4EE1E38AC63^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2A60E56A46936^0' +'-326026F0F342AC^0' +'F73E51E85A6C3^0' +'88BF003F529BC8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2B7E7483CB8C8C^0' +'-326C692BD8F4E6^0' +'F70BE2CDD6C7B^0' +'85AEE3ECEC5C68^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2C923E95CD4B0C^0' +'-326E0C35310ACA^0' +'F6DC25E842D26^0' +'825F12A330453^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2D90B40C23197^0' +'-326DB730DB339E^0' +'F6AF5508B809B^0' +'7F545EE6926CE^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2EC2B77FEEF1F6^0' +'-32779B06F64CC6^0' +'F675FE9141099^0' +'7B711A66EB9CA^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2FC652B2E5FE9C^0' +'-327785830802^0' +'F645BF01C9185^0' +'785307463C60EC^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'30C4FF9A67699C^0' +'-327826754334A8^0' +'F615260AD13C9^0' +'754755388BE70C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'31C23CA87D583E^0' +'-3286978D089FA8^0' +'F5E10EE127181^0' +'71E409413C3438^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'32D6150E387758^0' +'-32873623561544^0' +'F5A9FE25F16608^0' +'6E933863DD581C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'33D3F07BFE1AE8^0' +'-3285E996EFD878^0' +'F5768B60CD4A08^0' +'6B88EE9E4A5434^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'34EDA42E8381BE^0' +'-328DDB8EAE5C62^0' +'F53A53810D65F^0' +'67EB5360F4FCA8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'35FFE777CDD7B8^0' +'-328CCA3B5B1D1A^0' +'F5001ADA00533^0' +'649C5BBC5F95DC^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'37120DCD3CB1B^0' +'-328BD566C57E72^0' +'F4C493FBBFD6B8^0' +'61530359708938^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3812075D155518^0' +'-328E517392AB2^0' +'F48B2C025F5158^0' +'5E220BEE33C674^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'39280D43C403E4^0' +'-3290F1BF11D1A4^0' +'F44B89A9C180A^0' +'5AADBCC3B64AEC^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'218596EB136AD4^0' +'-323691070A00E^0' +'F89059D482F07^0' +'A5732A1567FAA8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'22B5EF15F1C0A8^0' +'-32441EC0270C1^0' +'F86655EEBDC57^0' +'A1A263198514A^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'23D859A93D0A6C^0' +'-324AA62AB76782^0' +'F83E13534575^0' +'9E07ABE6D0E208^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'24D397C3D40C1C^0' +'-3250CA973950C8^0' +'F819FF0C842F8^0' +'9AEF7A2ED13F98^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'25F1A5826BC234^0' +'-325B9665132A72^0' +'F7EEEB77B0EB1^0' +'975173405B068^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'272540F2183D6E^0' +'-3267FC463C06DC^0' +'F7BEE5F74F8D68^0' +'937011030F82C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'284279258E85BC^0' +'-3271C8EF728E7C^0' +'F7914BF96DCBD^0' +'8FD5F896A9D68^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2948A3CA97B0BC^0' +'-327B3D07AC773C^0' +'F766166640FF3^0' +'8C83414611B89^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2A63154E760076^0' +'-3282862EE5FDAA^0' +'F737233AEAA508^0' +'885FB6D5814998^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2B6A9CC0EE727C^0' +'-328E8FFBF22834^0' +'F7087340310408^0' +'8595737FF018B8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2C86245C38A3DE^0' +'-32977F431A6F7A^0' +'F6D60F8DC0167^0' +'81F911BA041BC^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2D8B4F52B76116^0' +'-329D9937D12966^0' +'F6A725B211B6E^0' +'7E1C482A202BB8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2EA8FB221CD152^0' +'-32A93260D9EE4A^0' +'F670EB0551AA7^0' +'7B00394F48AF78^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'2FC9F9C33613C2^0' +'-32B234162CB2AC^0' +'F6397A290D44F8^0' +'774F581B6325F8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'30D0426F1B2C32^0' +'-32B9911F9A0EE6^0' +'F606186E24B0B^0' +'73F20EADC9DB14^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'31D8CBF1BC1978^0' +'-32BB18DD9CC0A8^0' +'F5D218D4557AF8^0' +'70FA4119CD252C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'32E9E75BDF6A88^0' +'-32C09A894676B8^0' +'F59AA5E33DB4A^0' +'6D40284E140824^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'34048F1A73D2AE^0' +'-32C89A6DDC0734^0' +'F55F528DB0327^0' +'69A024BEA28EE8^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'3508FA30A9A642^0' +'-32CF9D0C9C369^0' +'F527854D13A55^0' +'6645153B9CB93C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'362279AC26C972^0' +'-32D7128D1AC78C^0' +'F4E9E5A4DD7EA8^0' +'62A772D37F3A1C^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'373BF7AA49B714^0' +'-32DD8DE365CA68^0' +'F4AB1BCE7724E8^0' +'5F02AEF7FA0608^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'383FD67C208EAE^0' +'-32E46EDD708C7A^0' +'F46FB96783E95^0' +'5BA81149A6C104^-1' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'12CB02B46BFFFF^A' +'12CB0406B5FFFF^A' +'12CB041849FFFF^A' +'12CB0429B4FFFF^A' +'12CB043B4A0002^A' +'12CB044CB8FFFE^A' +'12CB045E49FFFC^A' +'12CB046FB9^A' +'12CB048149FFFF^A' +'12CB0492B90003^A' +'12CB04A44AFFFD^A' +'12CB04B5BA^A' +'12CB04C74AFFFF^A' +'12CB04D8BA0003^A' +'12CB04EA49FFFF^A' +'12CB04FBB90002^A' +'12CB050D5C0002^A' +'12CB051EB8FFFD^A' +'12CB05305C0004^A' +'12CB0541C10001^A' +'12CB05535BFFFF^A' +'12CB0564C10003^A' +'12CB05765C0001^A' +'12CB0771B5FFFF^A' +'12CB078349FFFF^A' +'12CB0794B4FFFF^A' +'12CB07A64A0002^A' +'12CB07B7B50001^A' +'12CB07C949FFFC^A' +'12CB07DAB9^A' +'12CB07EC49FFFF^A' +'12CB07FDB90003^A' +'12CB080F4AFFFD^A' +'12CB0820BA^A' +'12CB08324AFFFF^A' +'12CB0843BA0003^A' +'12CB085549FFFF^A' +'12CB0866B90002^A' +'12CB08785C0002^A' +'12CB0889C0FFFE^A' +'12CB089B5C0004^A' +'12CB08ACC10001^A' +'12CB08BE5BFFFF^A' +'12CB08CFC10003^A' +'12CB08E15C0001^A' +'12CB0AFFB4FFFF^A' +'12CB0B1148FFFF^A' +'12CB0B22B3FFFE^A' +'12CB0B3449FFFC^A' +'12CB0B45B7FFFD^A' +'12CB0B5749FFFF^A' +'12CB0B68B8^A' +'12CB0B7A48FFFE^A' +'12CB0B8BB80002^A' +'12CB0B9D490001^A' +'12CB0BAEB7FFFD^A' +'12CB0BC049FFFF^A' +'12CB0BD1B90002^A' +'12CB0BE35C0002^A' +'12CB0BF4520002^A' +'12CB0C05DF0004^A' +'12CB0C176BFFFE^A' +'12CB0C28F7FFFD^A' +'12CB0C3A84FFFF^A' +'12CB0C4C120001^A' +'12CB0C5D9F0003^A' +'12CB0C6F2BFFFD^A' +'12CB02BC3BFFFF^A' +'12CB040E85FFFF^A' +'12CB042019FFFF^A' +'12CB043184FFFF^A' +'12CB04431A0002^A' +'12CB045488FFFE^A' +'12CB046619FFFC^A' +'12CB047789^A' +'12CB048919FFFF^A' +'12CB049A890003^A' +'12CB04AC1AFFFD^A' +'12CB04BD8A^A' +'12CB04CF1AFFFF^A' +'12CB04E08A0003^A' +'12CB04F219FFFF^A' +'12CB0503890002^A' +'12CB05152C0002^A' +'12CB052688FFFD^A' +'12CB05382C0004^A' +'12CB0549910001^A' +'12CB055B2BFFFF^A' +'12CB056C910003^A' +'12CB057E2C0001^A' +'12CB077985FFFF^A' +'12CB078B19FFFF^A' +'12CB079C84FFFF^A' +'12CB07AE1A0002^A' +'12CB07BF850001^A' +'12CB07D119FFFC^A' +'12CB07E289^A' +'12CB07F419FFFF^A' +'12CB0805890003^A' +'12CB08171AFFFD^A' +'12CB08288A^A' +'12CB083A1AFFFF^A' +'12CB084B8A0003^A' +'12CB085D19FFFF^A' +'12CB086E890002^A' +'12CB08802C0002^A' +'12CB089190FFFE^A' +'12CB08A32C0004^A' +'12CB08B4910001^A' +'12CB08C62BFFFF^A' +'12CB08D7910003^A' +'12CB08E92C0001^A' +'12CB0B0784FFFF^A' +'12CB0B1918FFFF^A' +'12CB0B2A83FFFE^A' +'12CB0B3C19FFFC^A' +'12CB0B4D87FFFD^A' +'12CB0B5F19FFFF^A' +'12CB0B7088^A' +'12CB0B8218FFFE^A' +'12CB0B93880002^A' +'12CB0BA5190001^A' +'12CB0BB687FFFD^A' +'12CB0BC819FFFF^A' +'12CB0BD9890002^A' +'12CB0BEB2C0002^A' +'12CB0BFC220002^A' +'12CB0C0DAF0004^A' +'12CB0C1F3BFFFE^A' +'12CB0C30C7FFFD^A' +'12CB0C4254FFFF^A' +'12CB0C53E20001^A' +'12CB0C656F0003^A' +'12CB0C76FBFFFD^A' +END_ARRAY 1 670 +TOTAL_ARRAYS 1 + ~NAIF/SPC BEGIN COMMENTS~ +This CK is for testing with the image: /home/pgiroux/Desktop/f704b28.cub + +This CK was generated using the following command: {} + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f704b28/vo2_v10.tf b/tests/pytests/data/f704b28/vo2_v10.tf new file mode 100644 index 0000000000000000000000000000000000000000..0cff34eed43acbb0aabefa14e3f3bb57cf798ed4 --- /dev/null +++ b/tests/pytests/data/f704b28/vo2_v10.tf @@ -0,0 +1,470 @@ +KPL/FK + +Viking Orbiter 2 Frames Kernel +=============================================================================== + + This frame kernel contains the complete set of frame definitions for + the Viking Orbiter 2 (VO2) spacecraft including definitions for the + spacecraft frame, instrument platform frame, and science instrument + frames. + + +Version and Date +------------------------------------------------------------------------------- + + Version 1.0 -- December 1, 2005 -- Boris Semenov, NAIF + + Initial Release. + + +References +------------------------------------------------------------------------------- + + 1. ``Frames Required Reading'' + + 2. ``Kernel Pool Required Reading'' + + 3. ``C-Kernel Required Reading'' + + 4. VO2 Supplemental Experiment Data Record (SEDR) file, 1976-1980. + + 5. Thomas C. Duxbury/JPL, March-July, 1996 + + +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 frame kernel must `load' the kernel, normally during + program initialization. The SPICELIB/CSPICE/ICY routine FURNSH loads + a kernel file into the pool as shown below. + + CALL FURNSH ( 'frame_kernel_name' ) SPICELIB/FORTRAN + + furnsh_c ( "frame_kernel_name" ); CSPICE/C + + cspice_furnsh, "frame_kernel_name" ICY/IDL + + This file was created and may be updated with a text editor or word + processor. + + +VO2 Frames +------------------------------------------------------------------------------- + + The following VO2 frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== =================== ============ ======= + + Spacecraft frame: + ----------------- + VO2_SPACECRAFT rel.to B1950 CK -30900 + + Instrument Platform frame: + -------------------------- + VO2_PLATFORM rel.to B1950 CK -30000 + + Science Instrument frames: + -------------------------- + VO2_VISA rel.to PLATFORM FIXED -30001 + VO2_VISA_TD rel.to PLATFORM FIXED -30011 + VO2_VISB rel.to PLATFORM FIXED -30002 + VO2_VISB_TD rel.to PLATFORM FIXED -30012 + VO2_IRTM rel.to PLATFORM FIXED -30003 + VO2_MAWD rel.to PLATFORM FIXED -30004 + + +VO2 Frames Hierarchy +------------------------------------------------------------------------------- + + The diagram below shows VO2 frames hierarchy: + + + "B1950" INERTIAL + +-----------------------------------------------------------+ + | | | | + | <--pck | <--ck | <--ck | <--pck + | | | | + V V | V + "IAU_MARS" "V01_SPACECRAFT" | "IAU_EARTH" + ----------- ---------------- | ------------ + | + | + V + "VO2_PLATFORM" + +---------------------------------------------------------+ + | | | | | | + | <--fixed | <--fixed fixed--> | | | | <--fixed + | | | | | | + V V V | | V + "VO2_IRTM" "VO2_MAWD" "VO2_VISA" | | "VO2_VISB" + ---------- ---------- ---------- | | ---------- + | | + | | + fixed--> | | <--fixed + | | + V V + "VO2_VISA_TD" "VO2_VISB_TD" + ------------- ------------- + + +Spacecraft Bus Frame +------------------------------------------------------------------------------- + + The spacecraft frame is defined as follows: + + [TBD] + + This diagram illustrates the spacecraft bus frame: + + [TBD] + + 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_VO2_SPACECRAFT = -30900 + FRAME_-30900_NAME = 'VO2_SPACECRAFT' + FRAME_-30900_CLASS = 3 + FRAME_-30900_CLASS_ID = -30900 + FRAME_-30900_CENTER = -30 + CK_-30900_SCLK = -30 + CK_-30900_SPK = -30 + + \begintext + + +Instrument Platform Frame +------------------------------------------------------------------------------- + + The instrument platform frame is defined as follows: + + [TBD] + + This diagram illustrates the instrument platform frame: + + [TBD] + + Since the platform 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_VO2_PLATFORM = -30000 + FRAME_-30000_NAME = 'VO2_PLATFORM' + FRAME_-30000_CLASS = 3 + FRAME_-30000_CLASS_ID = -30000 + FRAME_-30000_CENTER = -30 + CK_-30000_SCLK = -30 + CK_-30000_SPK = -30 + + \begintext + + +VISA and VISB Frames +------------------------------------------------------------------------------- + + The frames for the Visual Imaging Subsystem Camera A (VISA) and + Camera B (VISB) -- VO2_VISA and VO2_VISB -- are defined as follows: + + - Z axis is along the camera boresight; + + - X axis is along detector lines and points toward the right + side of the image; + + - Y axis completes the right hand frame; + + - the origin of this frame is located at the camera focal point. + + This diagram illustrates the camera frames: + + [TBD] + + Since the cameras were rigidly mounted on the instrument platform + their frames are defined as fixed offset frames with respect to the + platform frame. + + The camera orientation with respect to the platform was specified in + [4] as the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the following angle values for each of the two cameras: + + VISA: + + CROSS_CONE = -0.679330, deg + CONE = -0.023270, deg + RASTER_ORIENTATION = 89.880691, deg + + VISB: + + CROSS_CONE = 0.663000, deg + CONE = -0.044000, deg + RASTER_ORIENTATION = 89.663790, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO2_VISA = -30001 + FRAME_-30001_NAME = 'VO2_VISA' + FRAME_-30001_CLASS = 4 + FRAME_-30001_CLASS_ID = -30001 + FRAME_-30001_CENTER = -30 + TKFRAME_-30001_SPEC = 'ANGLES' + TKFRAME_-30001_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30001_ANGLES = ( -0.679330, 0.023270, -89.880691 ) + TKFRAME_-30001_AXES = ( 1, 2, 3 ) + TKFRAME_-30001_UNITS = 'DEGREES' + + FRAME_VO2_VISB = -30002 + FRAME_-30002_NAME = 'VO2_VISB' + FRAME_-30002_CLASS = 4 + FRAME_-30002_CLASS_ID = -30002 + FRAME_-30002_CENTER = -30 + TKFRAME_-30002_SPEC = 'ANGLES' + TKFRAME_-30002_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30002_ANGLES = ( 0.663000, 0.044000, -89.663790 ) + TKFRAME_-30002_AXES = ( 1, 2, 3 ) + TKFRAME_-30002_UNITS = 'DEGREES' + + \begintext + + Thomas Duxbury provided a different set of angle values for the cameras + (see [5]): + + VISA: + + CROSS_CONE = -0.679300, deg + CONE = -0.023300, deg + RASTER_ORIENTATION = 89.880700, deg + + VISB: + + CROSS_CONE = 0.663000, deg + CONE = -0.044000, deg + RASTER_ORIENTATION = 89.663800, deg + + To make this alignment solution available, two more frames parallel + to the camera frames and including the ``_TB'' suffix in the name + and defined below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO1_VISA_TD = -30011 + FRAME_-30011_NAME = 'VO1_VISA_TD' + FRAME_-30011_CLASS = 4 + FRAME_-30011_CLASS_ID = -30011 + FRAME_-30011_CENTER = -30 + TKFRAME_-30011_SPEC = 'ANGLES' + TKFRAME_-30011_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-30011_ANGLES = ( -0.679300, 0.023300, -89.880700 ) + TKFRAME_-30011_AXES = ( 1, 2, 3 ) + TKFRAME_-30011_UNITS = 'DEGREES' + + FRAME_VO1_VISB_TD = -30012 + FRAME_-30012_NAME = 'VO1_VISB_TD' + FRAME_-30012_CLASS = 4 + FRAME_-30012_CLASS_ID = -30012 + FRAME_-30012_CENTER = -30 + TKFRAME_-30012_SPEC = 'ANGLES' + TKFRAME_-30012_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-30012_ANGLES = ( 0.663000, 0.044000, -89.663800 ) + TKFRAME_-30012_AXES = ( 1, 2, 3 ) + TKFRAME_-30012_UNITS = 'DEGREES' + + \begintext + + +IRTM Frame +------------------------------------------------------------------------------- + + The frame for the Infrared Thermal Mapper -- VO2_IRTM -- is defined + as follows: + + [TBD] + + This diagram illustrates the IRTM frame: + + [TBD] + + Since the IRTM instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO2_IRTM = -30003 + FRAME_-30003_NAME = 'VO2_IRTM' + FRAME_-30003_CLASS = 4 + FRAME_-30003_CLASS_ID = -30003 + FRAME_-30003_CENTER = -30 + TKFRAME_-30003_SPEC = 'ANGLES' + TKFRAME_-30003_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30003_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-30003_AXES = ( 1, 2, 3 ) + TKFRAME_-30003_UNITS = 'DEGREES' + + \begintext + + +MAWD Frame +------------------------------------------------------------------------------- + + The frame for the Mars Atmosphere Water Detector (MAWD) -- VO2_MAWD + -- is defined as follows: + + [TBD] + + This diagram illustrates the MAWD frame: + + [TBD] + + Since the MAWD instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO2_MAWD = -30004 + FRAME_-30004_NAME = 'VO2_MAWD' + FRAME_-30004_CLASS = 4 + FRAME_-30004_CLASS_ID = -30004 + FRAME_-30004_CENTER = -30 + TKFRAME_-30004_SPEC = 'ANGLES' + TKFRAME_-30004_RELATIVE = 'VO2_PLATFORM' + TKFRAME_-30004_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-30004_AXES = ( 1, 2, 3 ) + TKFRAME_-30004_UNITS = 'DEGREES' + + \begintext + + +Viking Orbiter 2 NAIF ID Codes -- Definition Section +======================================================================== + + This section contains name to NAIF ID mappings for the VO2. 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 and its structures: + ------------------------------ + + VIKING ORBITER 2 -30 + VO2 -30 + + VO2_SPACECRAFT_BUS -30900 + VO2_SC_BUS -30900 + VO2_SPACECRAFT -30900 + + VO2_INSTRUMENT_PLATFORM -30000 + VO2_PLATFORM -30000 + + Science Instruments: + -------------------- + + VO2_VISA -30001 + VO2_VISB -30002 + + VO2_IRTM -30003 + + VO2_MAWD -30004 + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'VIKING ORBITER 2' ) + NAIF_BODY_CODE += ( -30 ) + + NAIF_BODY_NAME += ( 'VO2' ) + NAIF_BODY_CODE += ( -30 ) + + NAIF_BODY_NAME += ( 'VO2_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -30900 ) + + NAIF_BODY_NAME += ( 'VO2_SC_BUS' ) + NAIF_BODY_CODE += ( -30900 ) + + NAIF_BODY_NAME += ( 'VO2_SPACECRAFT' ) + NAIF_BODY_CODE += ( -30900 ) + + NAIF_BODY_NAME += ( 'VO2_INSTRUMENT_PLATFORM' ) + NAIF_BODY_CODE += ( -30000 ) + + NAIF_BODY_NAME += ( 'VO2_PLATFORM' ) + NAIF_BODY_CODE += ( -30000 ) + + NAIF_BODY_NAME += ( 'VO2_VISA' ) + NAIF_BODY_CODE += ( -30001 ) + + NAIF_BODY_NAME += ( 'VO2_VISB' ) + NAIF_BODY_CODE += ( -30002 ) + + NAIF_BODY_NAME += ( 'VO2_IRTM' ) + NAIF_BODY_CODE += ( -30003 ) + + NAIF_BODY_NAME += ( 'VO2_MAWD' ) + NAIF_BODY_CODE += ( -30004 ) + + \begintext diff --git a/tests/pytests/data/f735a00/f735a00_0.xsp b/tests/pytests/data/f735a00/f735a00_0.xsp new file mode 100644 index 0000000000000000000000000000000000000000..7832281a0faf5fc3b8773192b01a57c0b830873b --- /dev/null +++ b/tests/pytests/data/f735a00/f735a00_0.xsp @@ -0,0 +1,634 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/SPK ' +'2' +'6' +'SPKMERGE ' +BEGIN_ARRAY 1 433 +'22jun78 ' +'-287DFD03CFC8F^8' +'-287DF201F2585C^8' +'-1B' +'4' +'E' +'1' +433 +'-287DFC3051C54E^8' +'227C5A4E882^3' +'44F8B49D104^3' +'67750EEB986^3' +'89F1693A208^3' +'AC6DC388A8A^3' +'CEEA1DD730C^3' +'F1667825B8E^3' +'113E2D27441^4' +'1365F2CC2C92^4' +'158DB8711514^4' +'17B57E15FD96^4' +'18C960E871D7^4' +'19DD43BAE618^4' +'1AF1268D5A59^4' +'1C05095FCE9A^4' +'AF15B76B3F26F^3' +'A09FCC652453^0' +'-6DB934FFDF948^4' +'-9F5FB8B76B97E^0' +'-1F8C429AF67E63^4' +'-EF9F0DA9BA977^-1' +'-4F882770621108^-4' +'-71915DAA94B2A4^-5' +'9C62E3E87AF6E8^-6' +'-152E78F23E325E^-6' +'35C1C68853D784^-7' +'-A7A10E4EF6A59^-8' +'26CBE61FC5A628^-8' +'-A8708A28BB733^-9' +'34DB3B7FC73014^-9' +'-12FC1DD002F78C^-9' +'7BD314D266AB58^-A' +'-38E6FA4A36DEE8^-A' +'1B766CAE0F4F8F^-A' +'-E0EA7622BE0EF^-B' +'740F49^-B' +'31D6BA6FA756DC^-3' +'-151F19C1110412^-4' +'172239BEB281AA^-5' +'-22529228556F68^-6' +'454EB2A84958D4^-7' +'-AEE4693F89F85^-8' +'216ECDD616841^-8' +'-78615E000913F8^-9' +'1F3844767B583A^-9' +'-920B2728E9AD6^-A' +'30569E239BA3AC^-A' +'-E93C1FB3D9744^-B' +'A233CE^-B' +'0^0' +'0^0' +'E54338B725CDC8^-4' +'-808C542A378EE8^-5' +'939E2DFEE5C7B8^-6' +'-F1CE2CE465209^-7' +'20DC3CCBAC69D4^-7' +'-59BE1AB4D18BB^-8' +'1298A6D4CF7C82^-8' +'-49185316C11EB^-9' +'14EA565DE27BE4^-9' +'-6DE3B1A5C2FC28^-A' +'2965BE9A1797A8^-A' +'-1089E572CAB1C9^-A' +'93B32B21C5D35^-B' +'77D1535F50231^-B' +'0^0' +'F^1' +'E^1' +'C^1' +'D^1' +'-287DF3913B31AC^8' +'227C5A4E882^3' +'44F8B49D104^3' +'67750EEB986^3' +'89F1693A208^3' +'AC6DC388A8A^3' +'CEEA1DD730C^3' +'F1667825B8E^3' +'113E2D27441^4' +'1365F2CC2C92^4' +'158DB8711514^4' +'17B57E15FD96^4' +'19DD43BAE618^4' +'1C05095FCE9A^4' +'1E2CCF04B71C^4' +'205494A99F9E^4' +'104D65F1486029^4' +'9D8791B3724738^0' +'-72A730C60305A4^4' +'-85C925D4DB537^0' +'-1FED80CA544832^4' +'-7BC380E0F6F5DC^-1' +'-671E16AEF32478^-4' +'-548FF688B15F74^-5' +'5FE3169E357B98^-6' +'-C39855792DAE28^-7' +'1B8FF512F417A1^-7' +'-4CFA53311D880C^-8' +'FD2B81A10C47D^-9' +'-3CD825F5D5173E^-9' +'10D7077ABFD496^-9' +'-550A9AB62DB1A^-A' +'1E574F5EF55D1A^-A' +'-C2786BD88FB2A8^-B' +'56EDE47DAD6208^-B' +'-2B1633D8B17348^-B' +'17EE7D8^-B' +'2D52FE54B0788C^-3' +'-10698BB745A7C3^-4' +'109E1B11EB3C01^-5' +'-15F232D3DE9F52^-6' +'27FE04F94FD0AC^-7' +'-5A931B019EC644^-8' +'F91337573F05C^-9' +'-326A6435382FF^-9' +'BCA11B17BB4A28^-A' +'-321667C7717BC^-A' +'EE111A85E0C68^-B' +'-4E07B^-B' +'1C1374^-B' +'-28B9C^-C' +'0^0' +'C9EEDD31C1C97^-4' +'-631A068F09006^-5' +'6687DC6C68AF7C^-6' +'-961C88316BF08^-7' +'123950AF528F2C^-7' +'-2C60C2E90C73D8^-8' +'82E38BEF49867^-9' +'-1C8AAE8D21DAFE^-9' +'73B60467D1FFB8^-A' +'-219B4966BC1F2^-A' +'B11328890E058^-B' +'-2657948^-B' +'0^0' +'0^0' +'0^0' +'F^1' +'E^1' +'D^1' +'B^1' +'-287DF3BF760E96^8' +'89F1693A2^0' +'89F1693A2^0' +'89F1693A2^0' +'89F1693A208^3' +'AC6DC388A8A^3' +'CEEA1DD730C^3' +'F1667825B8E^3' +'113E2D27441^4' +'1365F2CC2C92^4' +'158DB8711514^4' +'17B57E15FD96^4' +'19DD43BAE618^4' +'1C05095FCE9A^4' +'1E2CCF04B71C^4' +'205494A99F9E^4' +'1030F1AE9B2A18^4' +'9D9A26E7C97B3^0' +'-728EFC093B8D7^4' +'-864C3A0F5BEDD8^0' +'-1FEC17E5526A7^4' +'-7E0BB0CA09344C^-1' +'-66B022E077AD84^-4' +'-148FCE5CF5C^-7' +'-148FCE5CF5C^-7' +'0^0' +'-66B022E077AD84^-4' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'2D686366A67D4A^-3' +'-40009C8962^-7' +'-40009C8962^-7' +'0^0' +'2D686366A67D4A^-3' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'CA6FFDC88975D8^-4' +'-1824C23449^-7' +'-1824C23449^-7' +'0^0' +'CA6FFDC88975D8^-4' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'3^1' +'2^1' +'2^1' +'2^1' +'-287DF3BDD476C6^8' +'117A6670B9^1' +'1A197D045B^1' +'22B89397FD^1' +'22B89397FD^1' +'22B89397FD^1' +'CEEA1DD730C^3' +'F1667825B8E^3' +'113E2D27441^4' +'1365F2CC2C92^4' +'158DB8711514^4' +'17B57E15FD96^4' +'19DD43BAE618^4' +'1C05095FCE9A^4' +'1E2CCF04B71C^4' +'205494A99F9E^4' +'1031F2C3A20E24^4' +'9D997F62CF02C^0' +'-728FD71743C508^4' +'-864798F9C545C^0' +'-1FEC24BE01BE31^4' +'-7DF70D7E1268BC^-1' +'-66B406B08A4FE8^-4' +'-29AD88ADFA100E^-7' +'1077BC0623CB82^-A' +'-A84^-E' +'-66B022E077AD84^-4' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'2D67A1ABA18B44^-3' +'-81BB5FF47F5BB8^-7' +'2F78AD25225A6E^-A' +'-1358^-D' +'2D686366A67D4A^-3' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'CA6B6C7DCAC56^-4' +'-30F0487326F6AE^-7' +'122AC6CD23B6D6^-A' +'-83D^-E' +'CA6FFDC88975D8^-4' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'4^1' +'3^1' +'3^1' +'3^1' +'-287DF378ED2824^8' +'21401FFC962^2' +'33B3BFE3CD2^2' +'3F38AF67139^2' +'44E74EA2D04^2' +'45FEF509DBD^2' +'4688E67315F^2' +'4712D7DC501^2' +'113E2D27441^4' +'1365F2CC2C92^4' +'158DB8711514^4' +'17B57E15FD96^4' +'19DD43BAE618^4' +'1C05095FCE9A^4' +'1E2CCF04B71C^4' +'205494A99F9E^4' +'105C5A350E7B7A^4' +'9D7DC4B81AD7F^0' +'-72B3E125676104^4' +'-858454CA09892^0' +'-1FEE3BE2568012^4' +'-7A90F4F6369FE^-1' +'-6757A7AC5783E^-4' +'-4ECBB81258D4C4^-6' +'3D82738EBAF518^-8' +'-4764BC70E0B114^-A' +'475A4F73206408^-C' +'-B60C^-E' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'2D47C9EB1A34BC^-3' +'-F5615694B357E8^-6' +'B1E0C5786DD51^-8' +'-849D53E35E42D8^-A' +'6D7E7B89C9057^-C' +'-702^-E' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'C9AB3DF7297FE^-4' +'-5C8E914037C21C^-6' +'440808CD6F8864^-8' +'-382A1E8C8B9312^-A' +'31046EEB642E0E^-C' +'-798^-F' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'6^1' +'5^1' +'5^1' +'5^1' +'-287DF0022E7622^8' +'1150A652934^3' +'1EFEFD7DB248^3' +'289ACBBE6568^3' +'2F5A65617A38^3' +'3417BEAC5538^3' +'376BEB201DBC^3' +'397FED1FE71E^3' +'3AA7271E5A8E^3' +'3B5F76168EF5^3' +'158DB8711514^4' +'17B57E15FD96^4' +'19DD43BAE618^4' +'1C05095FCE9A^4' +'1E2CCF04B71C^4' +'205494A99F9E^4' +'127B64DD6400EB^4' +'9C0A16692E599^0' +'-74719420CC8564^4' +'-7BE1A022F9296^0' +'-20041DA53F0C46^4' +'-4FEA6672E27F9C^-1' +'-6F224AB0130978^-4' +'-25A116D1CE927E^-5' +'10AFA56FEA6237^-6' +'-C9D83F7B0A92D8^-8' +'898B8413DBF848^-9' +'-653BDA4827DA3C^-A' +'4B453F688466C^-B' +'-395C54^-C' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'2BC28C0270B40C^-3' +'-75A2B4E1017E04^-5' +'32CBE7AF3D3068^-6' +'-17F1CD1E2137C3^-7' +'D8346CE9FF623^-9' +'-81E775DA784DE^-A' +'525E10448FDE3^-B' +'-32BF6^-C' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'C07F38589AD1F^-4' +'-2C5741E439D146^-5' +'133D7FF797DEDF^-6' +'-A150B2F0B09738^-8' +'6013B67A6B749^-9' +'-3DB0E73289FE48^-A' +'297C805EE5CA7A^-B' +'-1C898^-C' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'9^1' +'8^1' +'7^1' +'8^1' +'-287DFC3051C582^8' +'-287DF3C^8' +'-287DF3BF760E94^8' +'-287DF3BDD476F2^8' +'-287DF378ED27E6^8' +'-287DF0022E762^8' +'6^1' +END_ARRAY 1 433 +BEGIN_ARRAY 2 39 +'DE-0721LE-0721 ' +'-287DFD03CFC8F^8' +'-287DF201F2585C^8' +'A' +'0' +'1' +'2' +39 +'-2875B0C^8' +'A8C^5' +'AC3D7CB77DDCD^5' +'22DD35A9AFDBDE^4' +'-D5CA2734F1FCE^1' +'A0B502418872A8^-1' +'2EF71655C6B0F6^-1' +'-4D33BAD60F483^-2' +'3F4064180DB726^-3' +'97FCA03D617BF^-4' +'-2CA793D85A09C^-4' +'4DC3E7CA6EF588^-5' +'4644C189321A34^-7' +'-7FD7ABE4C4DFDC^5' +'F108D2E4E03F9^3' +'142C70A32BAD5B^2' +'-354CFA25CFA2CE^0' +'1DCFF0D39314F5^-1' +'12E36A6B063B73^-2' +'-7E5D32363242DC^-3' +'10FA3F9B71DCD3^-3' +'-A6718EFD7C574^-5' +'-3718DF13579132^-5' +'CF066909006E58^-6' +'-3C91F8173D173E^5' +'570193D309EE9^3' +'92F3652F409B08^1' +'-1A1CCC41A5E191^0' +'AF616C630E437^-2' +'119850853207CE^-2' +'-4A0D67DE16AD8^-3' +'815BE67E5FDA98^-4' +'-EC36E1960368^-6' +'-257FEBA6229DD4^-5' +'6E20CF9FCB9EE4^-6' +'-28803CC^8' +'1518^6' +'23^2' +'1^1' +END_ARRAY 2 39 +BEGIN_ARRAY 3 39 +'DE-0721LE-0721 ' +'-287DFD03CFC8F^8' +'-287DF201F2585C^8' +'4' +'0' +'1' +'2' +39 +'-28803CC^8' +'1518^6' +'-E5EAE27440F3C^7' +'5BD189B93FB1E^6' +'FE3618F9424968^5' +'-2FD48EC5E5BD1^3' +'-12683B83E8210F^3' +'-2AF2CE9D9DF1F6^1' +'-B8A1D5CF80ACF^-1' +'13A36CE79CB407^-2' +'F46015645D4AD^-4' +'-13D806CF4E54B^-4' +'1A8D2CBFB41BAB^-6' +'-20BEAEA7FDFB94^7' +'-1A264A82B9749F^7' +'23ABBF14364814^5' +'4EBB77339BFF78^4' +'3DE85EB8B1A3C8^2' +'-135F9C8CF78BB3^1' +'-B182A4D6BB98E8^-1' +'-51EE302A7898E^-2' +'-136A2C396F1108^-3' +'39BE63F95C7B1^-5' +'2CBCEE46FAD5FE^-5' +'-8C7F8646FA5268^6' +'-C263F2A08DDD88^6' +'979B5833C3625^4' +'2431430C6D00FE^4' +'245E1E50540A98^2' +'-7BA06A115F13A8^0' +'-4C4C4B3077CDC4^-1' +'-25A29AC98720BC^-2' +'-96ED02723DE9B8^-4' +'-9EC540801679C^-6' +'12571425850D1F^-5' +'-289554C^8' +'2A3^6' +'23^2' +'1^1' +END_ARRAY 3 39 +BEGIN_ARRAY 4 54 +'MAR097 ' +'-287DFD03CFC8F^8' +'-287DF201F2585C^8' +'1F3' +'4' +'1' +'3' +54 +'-287E185^8' +'2A3^4' +'2BCAF6A6A13A4A^-3' +'8EFE351F45F4C^-3' +'-796AD624F8BA1^-4' +'-3BE638DB8AEF12^-3' +'1807051B01932^-5' +'4CB6C184A9A3D8^-4' +'14A0193B4053A8^-5' +'-1D7CE27DFCEAD^-5' +'FCFCD4DA1E2598^-4' +'437252F138D22^-3' +'7C3CA80D357EA8^-3' +'-FE257D5B1D00F8^-4' +'-1367670D565C38^-3' +'103DF03129F098^-4' +'E69F539069FBA^-5' +'2E29B7045B518^-6' +'-DF2A547DE173D^-4' +'-30D438E13C719A^-3' +'45F424B25863D8^-3' +'1A57BCB9195BE9^-3' +'-A571269E59C258^-4' +'-23E0E57AE0294C^-4' +'6E51E84DF7106^-5' +'12A0F0B824FC^-5' +'-5226C27319672^-7' +'-ADC580FC90D458^-7' +'-76BB54CBC00F7C^-6' +'A6C4F7222866^-8' +'11928B05B2B45C^-6' +'5DDE50B2A30D3C^-8' +'-9C91C83508489^-8' +'0^0' +'976454F1A5192^-7' +'85B2F66842C64^-6' +'-203C48F702FA58^-6' +'-36C5E1171BA73C^-6' +'3E8E79560B86C8^-7' +'4199688D33C398^-7' +'F51BB072279DC^-9' +'0^0' +'764ECB7D37907^-7' +'4CB5FB968352AC^-6' +'33D37FD6FD5FBC^-6' +'-1D69557E1C8EC1^-6' +'-81E3FD07D2F6B^-7' +'1F6140F0A14C56^-7' +'62E94E888AB9D4^-8' +'0^0' +'-287E428^8' +'546^4' +'32^2' +'1^1' +END_ARRAY 4 54 +TOTAL_ARRAYS 4 + ~NAIF/SPC BEGIN COMMENTS~ +; /home/pgiroux/Desktop/f735a00/f735a00_0.bsp LOG FILE + +; Created 2019-09-11/12:19:02.00. +; +; BEGIN SPKMERGE COMMANDS + +LEAPSECONDS_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/lsk/naif0012.tls + +SPK_KERNEL = /home/pgiroux/Desktop/f735a00/f735a00_0.bsp + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/viking1/kernels/spk/viking1b.bsp + INCLUDE_COMMENTS = NO + BODIES = -27 + BEGIN_TIME = 1978 JUN 22 16:55:39.004 + END_TIME = 1978 JUN 22 17:42:36.869 + SOURCE_SPK_KERNEL = /usgs/cpkgs/isis3/data/base/kernels/spk/mar097.bsp + INCLUDE_COMMENTS = NO + BODIES = 4, 10, 499 + BEGIN_TIME = 1978 JUN 22 16:55:39.004 + END_TIME = 1978 JUN 22 17:42:36.869 + +; END SPKMERGE COMMANDS + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f735a00/f735a00_isis3.lbl b/tests/pytests/data/f735a00/f735a00_isis3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..9ba2057d888f944e4d5c8a3412df187dc3a4853b --- /dev/null +++ b/tests/pytests/data/f735a00/f735a00_isis3.lbl @@ -0,0 +1,103 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 1204 + TileLines = 1056 + + Group = Dimensions + Samples = 1204 + Lines = 1056 + Bands = 1 + End_Group + + Group = Pixels + Type = UnsignedByte + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = VIKING_ORBITER_1 + InstrumentId = VISUAL_IMAGING_SUBSYSTEM_CAMERA_B + TargetName = MARS + StartTime = 1978-06-22T17:26:00 + ExposureDuration = 0.067880 <seconds> + SpacecraftClockCount = 40031801 + FloodModeId = ON + GainModeId = HIGH + OffsetModeId = ON + End_Group + + Group = Archive + DataSetId = VO1/VO2-M-VIS-2-EDR-V2.0 + ProductId = 735A00 + MissonPhaseName = CONTINUATION_MISSION + ImageNumber = 40031801 + OrbitNumber = 735 + End_Group + + Group = BandBin + FilterName = RED + FilterId = 6 + Center = 0.59 <micrometers> + Width = 0.15 <micrometers> + End_Group + + Group = Kernels + NaifFrameCode = -27002 + CameraVersion = 1 + End_Group + + Group = Reseaus + Line = (5, 6, 8, 9, 10, 11, 12, 13, 14, 14, 15, 133, 134, 135, 137, + 138, 139, 140, 141, 141, 142, 143, 144, 263, 264, 266, 267, + 268, 269, 269, 270, 271, 272, 273, 393, 393, 395, 396, 397, + 398, 399, 399, 400, 401, 402, 403, 523, 524, 525, 526, 527, + 527, 528, 529, 530, 530, 532, 652, 652, 654, 655, 656, 657, + 657, 658, 659, 660, 661, 662, 781, 783, 784, 785, 786, 787, + 788, 788, 789, 790, 791, 911, 912, 913, 914, 915, 916, 917, + 918, 918, 919, 920, 921, 1040, 1041, 1043, 1044, 1045, 1045, + 1046, 1047, 1047, 1048, 1050) + Sample = (24, 142, 259, 375, 491, 607, 723, 839, 954, 1070, 1185, 24, + 84, 201, 317, 433, 549, 665, 780, 896, 1011, 1127, 1183, 25, + 142, 259, 375, 492, 607, 722, 838, 953, 1068, 1183, 25, 84, + 201, 317, 433, 549, 665, 779, 895, 1010, 1125, 1182, 25, 143, + 259, 375, 491, 607, 722, 837, 952, 1067, 1182, 25, 84, 201, + 317, 433, 548, 664, 779, 894, 1009, 1124, 1181, 25, 142, 258, + 374, 490, 605, 720, 835, 951, 1066, 1180, 24, 83, 200, 316, + 431, 547, 662, 776, 892, 1007, 1122, 1179, 23, 140, 257, 373, + 488, 603, 718, 833, 948, 1063, 1179) + Type = (1, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 6) + Valid = (0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, + 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0) + Template = $viking1/reseaus/vo1.visb.template.cub + Status = Nominal + End_Group + End_Object + + Object = Label + Bytes = 65536 + End_Object + + Object = History + Name = IsisCube + StartByte = 1336961 + Bytes = 444 + End_Object + + Object = OriginalLabel + Name = IsisCube + StartByte = 1337405 + Bytes = 1988 + End_Object + End diff --git a/tests/pytests/data/f735a00/f735a00_pds3.lbl b/tests/pytests/data/f735a00/f735a00_pds3.lbl new file mode 100644 index 0000000000000000000000000000000000000000..4591dc7f780fc402d08151fb531bbdb7e9ccd4b3 --- /dev/null +++ b/tests/pytests/data/f735a00/f735a00_pds3.lbl @@ -0,0 +1,1632 @@ +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL +/* FILE FORMAT AND LENGTH */ +RECORD_TYPE = VARIABLE_LENGTH +RECORD_BYTES = 1204 +FILE_RECORDS = 2176 +LABEL_RECORDS = 60 +/* POINTERS TO START RECORDS OF MAJOR OBJECTS IN FILE */ +^IMAGE_HISTOGRAM = 61 +^ENCODING_HISTOGRAM = 62 +^ENGINEERING_TABLE = 64 +^LINE_HEADER_TABLE = 65 +^IMAGE = 1121 +/* IMAGE DESCRIPTION */ +DATA_SET_ID = 'VO1/VO2-M-VIS-2-EDR-V2.0' +SPACECRAFT_NAME = VIKING_ORBITER_1 +MISSION_PHASE_NAME = CONTINUATION_MISSION +TARGET_NAME = MARS +IMAGE_ID = '735A00' +IMAGE_NUMBER = 40031801 +IMAGE_TIME = 1978-06-22T17:26:00Z +EARTH_RECEIVED_TIME = 1978-06-24T06:19:00Z +ORBIT_NUMBER = 735 +INSTRUMENT_NAME = VISUAL_IMAGING_SUBSYSTEM_CAMERA_B +GAIN_MODE_ID = HIGH +FLOOD_MODE_ID = ON +OFFSET_MODE_ID = ON +FILTER_NAME = RED +EXPOSURE_DURATION = 0.067880 <SECONDS> +NOTE = "LOW RESOLUTION STEREO SEQUENCE" +/* DESCRIPTION OF THE OBJECTS CONTAINED IN FILE */ +OBJECT = IMAGE_HISTOGRAM + ITEMS = 256 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENCODING_HISTOGRAM + ITEMS = 511 + ITEM_TYPE = VAX_INTEGER + ITEM_BITS = 32 +END_OBJECT +OBJECT = ENGINEERING_TABLE + ROWS = 1 + ROW_BYTES = 152 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = ENGINEERING_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 152 + NOTE = "This structure describes the format of + the engineering record that is included in each image file. + This record contains the first 152 bytes of data extracted from + the Mission and Test Imaging System (MTIS) header record on each + file of an imaging EDR tape." + + OBJECT = COLUMN + NAME = MTIS_RECORD_ID + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 1 + BYTES = 2 + DESCRIPTION = "Mission and Test Imaging System record + ID." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PHYSICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 3 + BYTES = 2 + DESCRIPTION = "Physical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_NUMBER + DATA_TYPE = VAX_UNSIGNED_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Logical sequence number on Experiment + Data Record tape. Not used." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 7 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of first line segment in the file containing valid + data. This field is NOT stored in VAX least significant byte + first format." + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). Time of first line record in the file containing valid + data. This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FIRST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 7 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Earth Received Time year and day + value. Time of last line segment of the file containing valid + data." + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_YEAR + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 1 + BITS = 7 + DESCRIPTION = "Earth Received Time year of century + (1900). This field is often incorrect." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LAST_ERT_DAY + DATA_TYPE = UNSIGNED_INTEGER + START_BIT = 8 + BITS = 9 + DESCRIPTION = "Earth Received Time day of year." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MINUTE + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Earth Received Time minute of day." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_ERT_MILLISECOND + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Earth Received Time millisecond of + minute." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + first line segment of the file containing valid data. Note that + this may not correspond to the FDS count for line 1, segment 1." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem count for the + last line segment of the file containing valid data. Note that + this may not correspond to the FDS count for segment 7 of line + 1056." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_ID + DATA_TYPE = CHARACTER + START_BYTE = 27 + BYTES = 6 + DESCRIPTION = "Tape reel identifier of the original + EDR tape for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EDR_FILE_NUMBER + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "File number of image on original EDR + tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 34 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 36 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in the image. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Average pixel value for image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_1 + DATA_TYPE = CHARACTER + START_BYTE = 39 + BYTES = 4 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Minimum signal to noise ratio. The + minimum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_SNR + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + FACTOR = 0.03125 + DESCRIPTION = "Maximum signal to noise ratio. The + maximum noise level found for the scan lines. Divide by 32 to + get the actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_2 + DATA_TYPE = CHARACTER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MINIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control minimum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = MAXIMUM_AGC + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + FACTOR = 0.0625 + DESCRIPTION = "Automatic gain control maximum. + Divide by 16 to get actual value." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_3 + DATA_TYPE = CHARACTER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 55 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that contain some valid data (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 57 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were fully synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 59 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that were partly synchronized (maximum is 7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 61 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 0 (maximum is 7 x 1056). + DQI0 indicates bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 63 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 1 (maximum is 7 x 1056). + DQI1 means SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 65 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 2 (maximum is 7 x 1056). + DQI2 means SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 67 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 3 (maximum is 7 x 1056). + DQI3 means SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 69 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with a data quality indicator of 4 (maximum is 7 x 1056). + DQI4 means SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FDS_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 71 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected FDS counts." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 73 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = ADJUSTED_PNERROR_CORRECTIONS + DATA_TYPE = VAX_INTEGER + START_BYTE = 75 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file with corrected pseudonoise codes adjusted based on the + number of line segments processed versus the total in a full + image (7 x 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNREADABLE_RECORDS + DATA_TYPE = VAX_INTEGER + START_BYTE = 77 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + file that could not be read from the Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LOGICAL_SEQUENCE_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 79 + BYTES = 2 + DESCRIPTION = "Total number of breaks in logical + sequence number in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DATA_BREAKS + DATA_TYPE = VAX_INTEGER + START_BYTE = 81 + BYTES = 2 + DESCRIPTION = "Total number of breaks in data + sequence in reading the System/Master Data Record tape." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_4 + DATA_TYPE = CHARACTER + START_BYTE = 83 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 85 + BYTES = 2 + DESCRIPTION = "Total number of lines in the file that + contain some valid data (nominal is 1056)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 87 + BYTES = 2 + DESCRIPTION = "Number of lines in the file that are + composed of seven line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTIAL_LINES + DATA_TYPE = VAX_INTEGER + START_BYTE = 89 + BYTES = 2 + DESCRIPTION = "Total number of line records in the + file that contain some valid data but are not composed of seven + line segments." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FIRST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 91 + BYTES = 2 + DESCRIPTION = "First line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LAST_LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 93 + BYTES = 2 + DESCRIPTION = "Last line in image containing valid + data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_5 + DATA_TYPE = CHARACTER + START_BYTE = 95 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = IMAGE_ID + DATA_TYPE = CHARACTER + START_BYTE = 97 + BYTES = 6 + DESCRIPTION = "Image identifier (PICNO) for this + image, formatted OOOSNN, where OOO is orbit number, S is + spacecraft identifier (A for Viking Orbiter 1 prime and extended + missions; B for Viking Orbiter 2; and S for Viking Orbiter 1 + Survey mission)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VRP_RUN_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 103 + BYTES = 2 + DESCRIPTION = "Viking Reconstruction Processing run + number." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DISK_ID + DATA_TYPE = CHARACTER + START_BYTE = 105 + BYTES = 6 + DESCRIPTION = "MTIS disk identifier of the original + EDR file for this image." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = UNUSED_6 + DATA_TYPE = CHARACTER + START_BYTE = 111 + BYTES = 2 + DESCRIPTION = "Unused." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 113 + BYTES = 2 + DESCRIPTION = "Transmitted command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. Where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step indicator." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRANSMITTED_CODE_WORD2 + DATA_TYPE = INTEGER + START_BYTE = 115 + BYTES = 2 + DESCRIPTION = "Transmitted command code word 2 for + this image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_NUMBER + START_BIT = 10 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter number: where 1 is blue; 2 is + minus blue; 3 is violet; 4 is clear; 5 is green; and 6 is red." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CAMERA_SERIAL_NUMBER + START_BIT = 13 + BITS = 4 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Visual Imaging Subsystem camera serial + number." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = RECEIVED_CODE_WORD1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 117 + BYTES = 2 + DESCRIPTION = "Received command code word for the + image." + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + START_BIT = 1 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Set to 1 if data not present for the + following measurements." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DQI + START_BIT = 3 + BITS = 3 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Data quality indicator associated with + code word values. where: 0 is bad data; 1 is SNR low, GCF block + error; 2 is SNR good, GCF block bad; 3 is SNR low, GCF block + good; 4 is SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = CATHODE_CURRENT_FLAG + START_BIT = 7 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Cathode current (beam) off (0) or on + (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = GAIN_FLAG + START_BIT = 8 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Gain mode low (0) or high (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = LIGHT_FLOOD_FLAG + START_BIT = 9 + BITS = 1 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Light flood off (0) or on (1)." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = FILTER_STEP + START_BIT = 10 + BITS = 2 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Filter step." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = EXPOSURE_CODE + START_BIT = 12 + BITS = 5 + DATA_TYPE = UNSIGNED_INTEGER + DESCRIPTION = "Exposure interval code." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS50_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 121 + BYTES = 2 + DESCRIPTION = "Plus 50 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 123 + BYTES = 2 + DESCRIPTION = "Plus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS12_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 125 + BYTES = 2 + DESCRIPTION = "Plus 12 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_PLUS5_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 127 + BYTES = 2 + DESCRIPTION = "Plus 5 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS15_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 129 + BYTES = 2 + DESCRIPTION = "Minus 15 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_MINUS23_VDC + DATA_TYPE = VAX_INTEGER + START_BYTE = 131 + BYTES = 2 + DESCRIPTION = "Minus 23 volts dc." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = VIS_AVERAGE_VIDEO + DATA_TYPE = VAX_INTEGER + START_BYTE = 133 + BYTES = 2 + DESCRIPTION = "Average video." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = POWER_CONVERTER_INPUT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 135 + BYTES = 2 + DESCRIPTION = "Power converter input current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 137 + BYTES = 2 + DESCRIPTION = "Cathode current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = CATHODE_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 139 + BYTES = 2 + DESCRIPTION = "Cathode voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILAMENT_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 141 + BYTES = 2 + DESCRIPTION = "Filament current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FRAME_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 143 + BYTES = 2 + DESCRIPTION = "Frame sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_SWEEP_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 145 + BYTES = 2 + DESCRIPTION = "Line sweep current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = GRID3_VOLTAGE + DATA_TYPE = VAX_INTEGER + START_BYTE = 147 + BYTES = 2 + DESCRIPTION = "Grid 3 voltage." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FOCUS_CURRENT + DATA_TYPE = VAX_INTEGER + START_BYTE = 149 + BYTES = 2 + DESCRIPTION = "Focus current." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DIGITAL_LADDER + DATA_TYPE = VAX_INTEGER + START_BYTE = 151 + BYTES = 2 + DESCRIPTION = "Digital ladder." + END_OBJECT = COLUMN + +END_OBJECT = ENGINEERING_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = LINE_HEADER_TABLE + ROWS = 1056 + ROW_BYTES = 62 +CCSD3ZF0000100000001NJPL3IF0PDS200000001 = SFDU_LABEL + +OBJECT = LINE_HEADER_TABLE_STRUCTURE + INTERCHANGE_FORMAT = BINARY + BYTES = 62 + NOTE = "Viking Orbiter Image Line-header + Structure. This label describes the structure of the 62-bytes + extracted from the end of each image line." + + OBJECT = COLUMN + NAME = FDS_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 1 + BYTES = 4 + DESCRIPTION = "Flight Data Subsystem (FDS) clock + count." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_NUMBER + DATA_TYPE = VAX_INTEGER + START_BYTE = 5 + BYTES = 2 + DESCRIPTION = "Flight Data Subsystem line number, + extracted from the telemetry record header information." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FILL_IN + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 7 + BYTES = 1 + DESCRIPTION = "Value used to fill in missing samples + (always zero)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = TRACK_PRESENCE_MASK + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 8 + BYTES = 1 + DESCRIPTION = "Mask indicating which tracks are + present in this line. The nominal value is HEX 7F, indicating + that all seven tracks are present." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = AVERAGE_PIXEL + DATA_TYPE = UNSIGNED_INTEGER + START_BYTE = 9 + BYTES = 2 + DESCRIPTION = "Average pixel value for this line." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 11 + BYTES = 2 + DESCRIPTION = "Total number of line segments in the + line that contain some valid data (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = FULLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 13 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were fully synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = PARTLY_SYNCHED_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 15 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + that were partly synchronized (maximum is 7)." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI0_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 17 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 0 (maximum is 7), indicating + bad data." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI1_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 19 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 1 (maximum is 7), indicating + SNR low, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI2_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 21 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 2 (maximum is 7), indicating + SNR good, GCF block bad." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI3_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 23 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 3 (maximum is 7), indicating + SNR low, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI4_SEGMENTS + DATA_TYPE = VAX_INTEGER + START_BYTE = 25 + BYTES = 2 + DESCRIPTION = "Total number of segments in the line + with a data quality indicator of 4 (maximum is 7), indicating + SNR good, GCF block good." + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 27 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK1 + DATA_TYPE = VAX_INTEGER + START_BYTE = 29 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 31 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK2 + DATA_TYPE = VAX_INTEGER + START_BYTE = 33 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 35 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK3 + DATA_TYPE = VAX_INTEGER + START_BYTE = 37 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 39 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK4 + DATA_TYPE = VAX_INTEGER + START_BYTE = 41 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 43 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK5 + DATA_TYPE = VAX_INTEGER + START_BYTE = 45 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 47 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK6 + DATA_TYPE = VAX_INTEGER + START_BYTE = 49 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = DQI_RATE_ORBIT7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 51 + BYTES = 2 + DESCRIPTION = "Bit string containing data quality + indicator, telemetry rate code and orbit number." + + OBJECT = BIT_COLUMN + NAME = DQI + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 3 + DESCRIPTION = "Data quality indicator for this line + segment, where: 0 is bad data; 1 is SNR low, GCF block error; 2 + is SNR good, GCF block bad; 3 is SNR low, GCF block good; 4 is + SNR good, GCF block good." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TELEMETRY_RATE_CODE + DATA_TYPE = INTEGER + START_BIT = 4 + BITS = 3 + DESCRIPTION = "Telemetry rate code, where: 1 for + 16K; 2 for 8K; 3 for 4K; 4 for 2K; 5 for 1K." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = ORBIT_NUMBER + DATA_TYPE = INTEGER + START_BIT = 7 + BITS = 10 + DESCRIPTION = "Orbit number taken from expected + picture list. For Viking Orbiter 1 Survey mission images this + is ORBIT_NUMBER - 1000." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = LINE_TRACK7 + DATA_TYPE = VAX_INTEGER + START_BYTE = 53 + BYTES = 2 + DESCRIPTION = "Bit string containing track and line + number." + + OBJECT = BIT_COLUMN + NAME = PLAYBACK_REVERSED_FLAG + DATA_TYPE = INTEGER + START_BIT = 1 + BITS = 1 + DESCRIPTION = "Set to 1 if playback is in reverse + order for this segment. Track 1, 3, 5 and 7 are played-back + forward, 2, 4 and 6 are played-back reversed." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = DATA_ABSENCE_FLAG + DATA_TYPE = INTEGER + START_BIT = 2 + BITS = 1 + DESCRIPTION = "Set to 1 if data is not present for + this segment." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = TRACK_CODE + DATA_TYPE = INTEGER + START_BIT = 3 + BITS = 3 + DESCRIPTION = "Track code, where: 0 is Track 7; 1 is + Track 3; 2 is Track 2; 3 is error; 4 is Track 6; 5 is Track 1; 6 + is Track 5; 7 is Track 4." + END_OBJECT = BIT_COLUMN + + OBJECT = BIT_COLUMN + NAME = SEGMENT_LINE_NUMBER + DATA_TYPE = INTEGER + START_BIT = 6 + BITS = 11 + DESCRIPTION = "Line number extracted from segment + header." + END_OBJECT = BIT_COLUMN + + END_OBJECT = COLUMN + + OBJECT = COLUMN + NAME = EMBEDDED_SCIENCE_DATA + ITEMS = 7 + DATA_TYPE = INTEGER + START_BYTE = 55 + ITEM_BYTES = 1 + DESCRIPTION = "Embedded low rate science data from + seven segments." + END_OBJECT = COLUMN + +END_OBJECT = LINE_HEADER_TABLE_STRUCTURE + +END +END_OBJECT +OBJECT = IMAGE + ENCODING_TYPE = HUFFMAN_FIRST_DIFFERENCE + LINES = 1056 + LINE_SAMPLES = 1204 + SAMPLE_TYPE = UNSIGNED_INTEGER + SAMPLE_BITS = 8 + SAMPLE_BIT_MASK = 2#11111110# + CHECKSUM = 44303556 +END_OBJECT +END diff --git a/tests/pytests/data/f735a00/naif0012.tls b/tests/pytests/data/f735a00/naif0012.tls new file mode 100644 index 0000000000000000000000000000000000000000..e1afdee1b626e01a3f1b04ef8a43154e83972e56 --- /dev/null +++ b/tests/pytests/data/f735a00/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/f735a00/pck00009.tpc b/tests/pytests/data/f735a00/pck00009.tpc new file mode 100644 index 0000000000000000000000000000000000000000..bfadaab2b26817327189ff3173e9609f49dedc9d --- /dev/null +++ b/tests/pytests/data/f735a00/pck00009.tpc @@ -0,0 +1,3639 @@ +KPL/PCK + + +P_constants (PcK) SPICE kernel file +=========================================================================== + + By: Nat Bachman (NAIF) 2010 March 3 + + +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/IAG + 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 + + +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 and planets. + Additional items included in this section: + + - Earth north geomagnetic centered dipole values + for epochs 1945-2000 + + - Mars prime meridian offset "lambda_a" + + -- Orientation constants for satellites + + -- Orientation constants for asteroids Eros, Gaspra, Ida, + Itokawa, and Vesta + + -- Orientation constants for comets 19P/Borrelly + and 9P/Tempel 1 + + + Radii of Bodies + --------------- + + -- Radii of Sun and planets + + -- Radii of satellites, where available + + -- Radii of asteroids Ceres, Eros, Gaspra, Ida, Itokawa, + Mathilde, Toutatis, and Vesta. + + -- Radii of comets 19P/Borrelly, Halley, 9P/Tempel 1, + and 81P/Wild 2 + + + +Version Description +-------------------------------------------------------- + + This file was created on March 3, 2010. This version + incorporates data from reference [1]. + + This file contains size, shape, and orientation data for all + objects described by the previous version of the file, except + for Kleopatra: a shape model for this body is not provided in [1] + because, according to this source, it had been "modeled from + low resolution radar data, and cannot be mapped from those + data." + + New objects covered by this file but not the previous + version are: + + 19P/Borrelly + Halley + 9P/Tempel 1 + 81P/Wild 2 + Ceres + Itokawa + Mathilde + Toutatis + + +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, and version description section if you modify + this file. + +Known Limitations and Caveats + + Accuracy + -------- + + In general, the orientation models given here are claimed by the + IAU/IAG 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]) 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. 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 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. A more + accurate approximation can be obtained by using both the NAIF + lunar frame kernel and the binary lunar orientation PCK file, + which 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 + J2000 epoch 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]. + + + Mars prime meridian offset + -------------------------- + + The Mars prime meridian offset given by [5] is not used by + SPICE geometry software for computations involving the shape + of Mars (for example, in sub-observer point or surface intercept + computations). The value 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 only planets for which such terms are used are + Jupiter and Neptune. Use of trigonometric polynomial terms for + natural satellites is and has been supported for all SPICE Toolkit + versions. + + 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 +-------------------------------------------------------- + + The sources for the constants listed in this file are: + + + [1] 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." + + [2] Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F., + Cruikshank, D.P., Hilton, J.L., Keller, H.U., Oberst, J., + Simon, J.L., Stooke, P., Tholen, D.J., and Thomas, P.C. + "Report of the IAU/IAG Working Group on Cartographic + Coordinates and Rotational Elements of the Planets and + Satellites: 2003." + + [3] 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. + + [4] Nautical Almanac Office, United States Naval Observatory, + H.M. Nautical Almanac Office, Royal Greenwich + Observatory, Jet Propulsion Laboratory, Bureau des + Longitudes, and The Time Service and Astronomy + Departments, United States Naval Observatory (1992). + "Explanatory Supplement to the Astronomical Almanac," P. + Kenneth Seidelmann, ed. University Science Books, 20 + Edgehill Road, Mill Valley, CA 9494. + + [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. + + + Most values are from [1]. All exceptions are + commented where they occur in this file. The exceptions are: + + + -- Radii for the Sun are from [3]. + + -- 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 + [8]. The article [6] was used to check most of + these values, and the values were also re-computed from + the 9th generation IGRF [9] by Nat Bachman. + + -- The Mars prime meridian offset angle is from [5]. + + + "Old values" listed are from the SPICE P_constants file + pck00008.tpc dated September 21, 2004. Most of these values came + from the 2003 IAU report [2]. + + + + +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.14 6378.14 6356.75 ) + + 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.14 + 6378.14 + 6356.75 ) + + 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 2006 IAU/IAG 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 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 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, 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: 2006 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.5366420 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 term is zero for all bodies except Mars. It represents the + angular offset between the meridian containing the longest axis of + the triaxial ellipsoid used to model a body's surface and the + prime meridian of the body. + + 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 2006 IAU report does + not use any other models, except in the case of Mars, where + separate values are given for the north and south polar radii. + + 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.14 6378.14 6356.75 ) + + +Body Numbers 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 + + + 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 + 2000004 Asteroid Vesta + 2000216 Asteroid Kleopatra + 2000253 Asteroid Mathilde + 2000433 Asteroid Eros + 2004179 Asteroid Toutatis + 2025143 Asteroid Itokawa + 2431010 Asteroid Ida + 9511010 Asteroid Gaspra + + +Orientation Constants for the Sun and Planets +-------------------------------------------------------- + + +Sun + + Old values: + + Values are from the 2003 IAU report. + + + body10_pole_ra = ( 286.13 0. 0. ) + body10_pole_dec = ( 63.87 0. 0. ) + body10_pm = ( 84.10 14.18440 0. ) + body10_long_axis = ( 0. ) + + 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 unchanged in the 2006 IAU report. + + + Current values: + + \begindata + + BODY199_POLE_RA = ( 281.01 -0.033 0. ) + BODY199_POLE_DEC = ( 61.45 -0.005 0. ) + BODY199_PM = ( 329.548 6.1385025 0. ) + + BODY199_LONG_AXIS = ( 0. ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 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 2006 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: + + Old 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 ) + + + Current values: + + 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 + + + Values are given for the epoch 2000 and are from the final row + of the above table, which is from [8]. As shown by the table + these values constitute a low-accuracy approximation for epochs + not close to 2000. + + \begindata + + BODY399_N_GEOMAG_CTR_DIPOLE_LON = ( 288.43 ) + BODY399_N_GEOMAG_CTR_DIPOLE_LAT = ( 79.54 ) + + \begintext + + +Mars + + Old values: + + Values are unchanged in the 2006 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: + + Values are from the 2003 IAU report. + + + body599_pole_ra = ( 268.05 -0.009 0. ) + body599_pole_dec = ( 64.49 0.003 0. ) + body599_pm = ( 284.95 870.5366420 0. ) + body599_long_axis = ( 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.35 2382.6 + 113.35 6070.0 + 146.64 182945.8 + 49.24 90274.4 ) + + + + 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.5366420 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 unchanged in the 2006 IAU report. + + Current values: + + \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 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. + + + \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 + 29.80 -52.1 + 706.64 151413.4 + 57.44 151413.4 ) + \begintext + + +Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 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 + + + +Pluto + + Old values: + + Values are from the 2003 IAU report. + + BODY999_POLE_RA = ( 313.02 0. 0. ) + BODY999_POLE_DEC = ( 9.09 0. 0. ) + BODY999_PM = ( 236.77 -56.3623195 0. ) + BODY999_LONG_AXIS = ( 0. ) + + + Current values: + + \begindata + + 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. ) + + \begintext + + + + +Orientation constants for the satellites +-------------------------------------------------------- + + +Satellites of Earth + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 from the 2003 IAU report. + + + body502_pole_ra = ( 268.08 -0.009 0. ) + body502_pole_dec = ( 64.51 0.003 0. ) + body502_pm = ( 35.67 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 ) + + + 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Enceladus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Tethys + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Dione + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Rhea + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 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. ) + + \begintext + + + + Titan + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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 ) + + \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 unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + Phoebe + + + Old values: + + Values are from the 2003 IAU report. + + body609_pole_ra = ( 355.00 0. 0. ) + body609_pole_dec = ( 68.70 0. 0. ) + body609_pm = ( 304.70 930.8338720 0. ) + body609_long_axis = ( 0. ) + + 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 2006 IAU report. + + Current values: + + \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. 0.023 ) + BODY610_NUT_PREC_DEC = ( 0. -0.183 0. 0. 0. 0. 0. 0. 0.001 ) + BODY610_NUT_PREC_PM = ( 0. 1.613 0. 0. 0. 0. 0. 0. -0.023 ) + + \begintext + + + + Epimetheus + + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \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. 0.086 0. ) + BODY611_NUT_PREC_DEC = ( -0.356 0. 0. 0. 0. 0. 0. 0.005 0. ) + BODY611_NUT_PREC_PM = ( 3.133 0. 0. 0. 0. 0. 0. -0.086 0. ) + + \begintext + + + + Helene + + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2006 report [1] states that values for Nereid are not + given because Nereid is not in synchronous rotation with Neptune + (p. 167). + + + + Naiad + + Old values: + + Values are unchanged in the 2006 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 2006 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 2006 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 2006 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 2006 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 2006 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 2003 IAU report. + + body901_pole_ra = ( 313.02 0. 0. ) + body901_pole_dec = ( 9.09 0. 0. ) + body901_pm = ( 56.77 -56.3623195 0. ) + body901_long_axis = ( 0. ) + + Current values: + + \begindata + + 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. ) + + \begintext + + + +Orientation constants for Selected Comets and Asteroids +-------------------------------------------------------- + + + +19P/Borrelly + + + 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 + + + +9P/Tempel 1 + + + 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 + + +Vesta + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY2000004_POLE_RA = ( 301. 0. 0. ) + BODY2000004_POLE_DEC = ( 41. 0. 0. ) + BODY2000004_PM = ( 292. 1617.332776 0. ) + BODY2000004_LONG_AXIS = ( 0. ) + + \begintext + +Eros + + Old values: + + Values are unchanged in the 2006 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 + + +Itokawa + + + 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 + + + +Ida + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + +Gaspra + + Old values: + + Values are unchanged in the 2006 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 + + + + + + + + + + +Radii of Sun and Planets +-------------------------------------------------------- + + +Sun + + Value for the Sun is from the [3], page K7. + + \begindata + + BODY10_RADII = ( 696000. 696000. 696000. ) + + \begintext + + +Mercury + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY199_RADII = ( 2439.7 2439.7 2439.7 ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY299_RADII = ( 6051.8 6051.8 6051.8 ) + + \begintext + + +Earth + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + + \begindata + + BODY399_RADII = ( 6378.14 6378.14 6356.75 ) + + \begintext + + +Mars + + + Old values: + + body499_radii = ( 3397. 3397. 3375. ) + + Current values: + + + The IAU report gives separate values for the north and south + polar radii: + + north: 3373.19 + south: 3379.21 + + We use the average of these values 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 2006 IAU report. + + Current values: + + \begindata + + BODY599_RADII = ( 71492 71492 66854 ) + + \begintext + + + +Saturn + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY699_RADII = ( 60268 60268 54364 ) + + \begintext + + + +Uranus + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY799_RADII = ( 25559 25559 24973 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + (Values are for the 1 bar pressure level.) + + \begindata + + BODY899_RADII = ( 24764 24764 24341 ) + + \begintext + + + +Pluto + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY999_RADII = ( 1195 1195 1195 ) + + \begintext + + + + +Radii of Satellites +-------------------------------------------------------- + + +Moon + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY301_RADII = ( 1737.4 1737.4 1737.4 ) + + \begintext + + + +Satellites of Mars + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY401_RADII = ( 13.4 11.2 9.2 ) + BODY402_RADII = ( 7.5 6.1 5.2 ) + + \begintext + + + +Satellites of Jupiter + + Old values: + + Values are unchanged in the 2006 IAU report. + + Current values: + + \begindata + + BODY501_RADII = ( 1829.4 1819.3 1815.7 ) + BODY502_RADII = ( 1564.13 1561.23 1560.93 ) + BODY503_RADII = ( 2632.4 2632.29 2632.35 ) + BODY504_RADII = ( 2409.4 2409.2 2409.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 ) + + \begintext + + 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. + \begindata + + BODY516_RADII = ( 21.5 21.5 21.5 ) + + \begintext + + + +Satellites of Saturn + + + Old values: + + Values are from the 2003 IAU report. + + body601_radii = ( 209.1 196.2 191.4 ) + body602_radii = ( 256.3 247.3 244.6 ) + body603_radii = ( 535.6 528.2 525.8 ) + body604_radii = ( 560 560 560 ) + body605_radii = ( 764 764 764 ) + body606_radii = ( 2575 2575 2575 ) + body607_radii = ( 164 130 107 ) + body608_radii = ( 718 718 718 ) + body609_radii = ( 115 110 105 ) + 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) was given in the + 2003 IAU report: + + body612_radii = ( 17.5 --- --- ) + + The mean radius was 16km; we used this radius for all three axes, as + we do for the satellites for which only the mean radius is available. + + + body612_radii = ( 16 16 16 ) + 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 ) + + + + Current values: + + \begindata + + 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 ) + + \begintext + + 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. + + + \begindata + + 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 ) + + \begintext + + + For Pan, only a mean radius is given in the 2006 report. + + \begindata + + BODY618_RADII = ( 10 10 10 ) + + \begintext + + + +Satellites of Uranus + + Old values: + + Values are unchanged in the 2006 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 2006 IAU report. + + Current values: + + The 2000 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 2000 + 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 from the 2003 IAU report. + + BODY901_RADII = ( 593 593 593 ) + + Current values: + + \begindata + + BODY901_RADII = ( 605 605 605 ) + + \begintext + + + +Radii for Selected Comets and Asteroids +-------------------------------------------------------- + + +19P/Borrelly + + + 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 + + + +Halley + + + Current values: + + \begindata + + BODY1000036_RADII = ( 8.0 4.0 4.0 ) + + \begintext + + + +9P/Tempel 1 + + + 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 + + +81P/Wild 2 + + + Current values: + + + \begindata + + BODY1000107_RADII = ( 2.7 1.9 1.5 ) + + \begintext + + +Ceres + + + Current values: + + + \begindata + + BODY2000001_RADII = ( 487.3 487.3 454.7 ) + + \begintext + + +Vesta + + + Current values: + + + \begindata + + BODY2000004_RADII = ( 289. 280. 229. ) + + \begintext + + +Toutatis + + + Current values: + + + \begindata + + BODY2004179_RADII = ( 2.13 1.015 0.85 ) + + \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 2006 report. + + +Mathilde + + + Current values: + + + \begindata + + BODY2000253_RADII = ( 33. 24. 23. ) + + \begintext + +Eros + + + Current values: + + + \begindata + + BODY2000433_RADII = ( 17.0 5.5 5.5 ) + + \begintext + + +Itokawa + + + Current values: + + + \begindata + + BODY2025143_RADII = ( 0.535 0.294 0.209 ) + + \begintext + + + +Gaspra + + + Current values: + + + \begindata + + BODY9511010_RADII = ( 9.1 5.2 4.4 ) + + \begintext + + + + +Ida + + + Current values: + + + \begindata + + BODY2431010_RADII = ( 26.8 12.0 7.6 ) + + \begintext + + + +=========================================================================== +End of file pck00009.tpc +=========================================================================== + + + diff --git a/tests/pytests/data/f735a00/vikingAddendum003.ti b/tests/pytests/data/f735a00/vikingAddendum003.ti new file mode 100644 index 0000000000000000000000000000000000000000..98d77dabf0b8c75725cc56d8e0d7e8f530da5fa2 --- /dev/null +++ b/tests/pytests/data/f735a00/vikingAddendum003.ti @@ -0,0 +1,23 @@ +\begindata +INS-27001_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-27001_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-27001_ITRANSS = ( 0.0, 85.0, 0.0) +INS-27001_ITRANSL = ( 0.0, 0.0, 85.0) + +INS-27002_TRANSX = ( 0.0, 0.0117647058823529, 0.0) +INS-27002_TRANSY = ( 0.0, 0.0, 0.0117647058823529) +INS-27002_ITRANSS = ( 0.0, 85.0, 0.0) +INS-27002_ITRANSL = ( 0.0, 0.0, 85.0) + +\begintext +These are the parameters for writing c-kernels. Isis will create ck +with the same frame endpoints as the mission ck. For Viking1 the ck +instrument frame is VO1_PLATFORM (-27000) and the ck reference frame +is B1950 (2) or J2000 (1), depending on the ck used. The mdim2.0_rand +ck is in J2000. + +\begindata +INS-27001_CK_FRAME_ID=-27000 +INS-27001_CK_REFERENCE_ID=2 +INS-27002_CK_FRAME_ID=-27000 +INS-27002_CK_REFERENCE_ID=2 diff --git a/tests/pytests/data/f735a00/vo1_fict.tsc b/tests/pytests/data/f735a00/vo1_fict.tsc new file mode 100644 index 0000000000000000000000000000000000000000..ca6eab8889dbe1ae002356ae175ce3da73dc318f --- /dev/null +++ b/tests/pytests/data/f735a00/vo1_fict.tsc @@ -0,0 +1,136 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO1_FICT.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 1" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO1_FICT.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:20 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION, + SURVEY_MISSION + } +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 = MARS +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 = "SCLK file implementing fictitious clock +used to tag orientation data in the VO1 CK files. This SCLK file does NOT +represent real Viking Orbiter 1 on-board clock but rather is a simple +counter of milliseconds since 1 Jan 1976 00:00:00. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 1 "fictitious" SCLK Kernel +-------------------------------------------------------- + + This file contains the data necessary to convert between the + 'fictitious' Viking Orbiter 1 on-board clock times used as tags + for pointing instances in Viking Orbiter 1 CK files and ephemeris + time. + + NAIF suggests that you do not modify this file. If you do modify + it, be sure to indicate this in the `Version' section below. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are simply the number of seconds that have passed since the UTC + epoch 1 Jan 1976 00:00:00. Thus 288929292.827 simply represents + the epoch that occurs 288929292.827 seconds past the UTC epoch + 1 Jan 1976. + + For all time, the clock runs at the same rate as Terrestrial + Dynamical Time (TDT). There is only one partition for this clock. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will + also need to load a leapseconds kernel. The additional call + to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + + \begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_27 = ( 1 ) + + SCLK01_TIME_SYSTEM_27 = ( 2 ) + SCLK01_N_FIELDS_27 = ( 2 ) + SCLK01_MODULI_27 = ( 10000000000 1000 ) + SCLK01_OFFSETS_27 = ( 0 0 ) + SCLK01_OUTPUT_DELIM_27 = ( 1 ) + + SCLK_PARTITION_START_27 = ( 0.0000000000000E+00 ) + SCLK_PARTITION_END_27 = ( 1.00000000E+14 ) + SCLK01_COEFFICIENTS_27 = ( 0.00000000E+00 + @01-JAN-1976-00:00:47.184 + 1 ) + + \begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f735a00/vo1_fsc.tsc b/tests/pytests/data/f735a00/vo1_fsc.tsc new file mode 100644 index 0000000000000000000000000000000000000000..aa5d9a7c0ea464b9eb1da461c207a2de2c1927e2 --- /dev/null +++ b/tests/pytests/data/f735a00/vo1_fsc.tsc @@ -0,0 +1,237 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "VO1_FSC.TSC" +MISSION_NAME = VIKING +SPACECRAFT_NAME = "VIKING ORBITER 1" +DATA_SET_ID = "VO1/VO2-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "VO1_FSC.TSC" +PRODUCT_CREATION_TIME = 2000-04-21T10:53:21 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = { + PRIMARY_MISSION, + EXTENDED_MISSION, + CONTINUATION_MISSION, + SURVEY_MISSION + } +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 = MARS +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 = "SCLK file containing linear piecewise +function representing VO1 FSC on-board clock. This function was generated as +the result of VO1 image time tags restoration. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +Viking Orbiter 1 Reconstructed Frame Start Count (FSC) SCLK file +-------------------------------------------------------- + + This file contain data necessary to convert a Viking Orbiter 1 + FSC count to the ET time corresponding to it. These data are + based on the results of VO1 image times reconstruction done at + NAIF/JPL. The process of this reconstruction is described in + detail in the "VO Image Time Reconstruction" document. + + Note that the main purpose of this file is to store the + reconstructed FSC counter; the on-board clock defined by the + function in this file was not used to time tag any of the + orientation data in CK files. + + To avoid confusion with the other VO1 clock used for time tagging, + the FSC on-board clock in this file was assigned the NAIF ID + code -27999. + + +Version +-------------------------------------------------------- + + Version 1.0.1 -- April 20, 2000 + + Comments in the file were slightly reformatted and augmented. + + Version 1.0.0 -- July 22, 1996 + + +Implementation notes +-------------------------------------------------------- + + This SPICE SCLK file is constructed so that valid SCLK strings + are the eight digit VO1 FSC count associated with each VO1 image. + Note that the actual "image time" (the time of the beginning, + middle or the end of exposure) has a significant offset from + the FSC tick start time. This offset depends on the exposure + duration and is described in the "VO Image Time Reconstruction" + document. + + You must load this file into the kernel pool before using any + of the SPICELIB SCLK routines. The code fragment + + CALL LDPOOL ( < name of this file > ) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to LDPOOL, + + CALL LDPOOL ( < name of your leapsecond file > ) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to LDPOOL. Because + the file names are system dependent, we do not list them here. + + For more information, consult your SPICELIB required reading + files. The following areas are covered: + + SCLK system SCLK required reading + Time systems and conversion TIME required reading + Kernel pool KERNEL required reading + + +Kernel data +-------------------------------------------------------- + +\begindata + + SCLK_KERNEL_ID = ( @22-JUL-1996 ) + + SCLK_DATA_TYPE_27999 = ( 1 ) + SCLK01_TIME_SYSTEM_27999 = ( 2 ) + SCLK01_N_FIELDS_27999 = ( 1 ) + SCLK01_MODULI_27999 = ( 60000000 ) + SCLK01_OFFSETS_27999 = ( 25837050 ) + SCLK01_OUTPUT_DELIM_27999 = ( 1 ) + + SCLK_PARTITION_START_27999 = ( + 0 + 231791 + 644942 + 1569121 + 3367553 + 5555717 + 6396566 + 7572950 + 8087730 + 9835672 + 10866610 + 11503583 + 12217716 + 13159619 + 13679685 + 14664700 + 15449939 + 16432925 + 17479492 + 17896518 + 18344818 + 20321730 + 23280832 + 24166658 + 24262845 + 24359029 + 24609280 + 25992950 + 26522392 + 27368930 + 27915783 + ) + + SCLK_PARTITION_END_27999 = ( + 231791 + 644942 + 1569121 + 3367553 + 5555717 + 6396566 + 7572950 + 8087730 + 9835672 + 10866610 + 11503583 + 12217716 + 13159619 + 13679685 + 14664700 + 15449939 + 16432925 + 17479492 + 17896518 + 18344818 + 20321730 + 23280832 + 24166658 + 24262845 + 24359029 + 24609280 + 25992950 + 26522392 + 27368930 + 27915783 + 59999999 + ) + + SCLK01_COEFFICIENTS_27999 = ( + + 0 -742936101.084011 4.480002320 + 231791 -741897676.845143 4.480001506 + 644942 -740046759.578601 4.480001685 + 1569121 -735906436.111559 4.480001416 + 3367553 -727849458.210550 4.480001972 + 5555717 -718046479.059529 4.480002284 + 6396566 -714279473.752967 4.480001816 + 7572950 -709009271.245943 4.480001816 + 8087730 -706703055.797485 4.480001869 + 9835672 -698872272.708142 4.480001557 + 10866610 -694253669.451953 4.480001151 + 11503583 -691400029.539901 4.480000884 + 12217716 -688200712.915836 4.480000934 + 13159619 -683980986.490315 4.480000934 + 13679685 -681651090.175512 4.480000934 + 14664700 -677238222.129167 4.480000778 + 15449939 -673720350.640383 4.480000830 + 16432925 -669316572.195161 4.480000882 + 17479492 -664627950.891482 4.480000922 + 17896518 -662759673.743136 4.480000929 + 18344818 -660751289.419364 4.480000581 + 20321730 -651894716.843243 4.480001297 + 23280832 -638637935.825957 4.480001191 + 24166658 -634669434.296886 4.480000989 + 24262845 -634238516.448398 4.480001715 + 24359029 -633807611.943517 4.480001275 + 24609280 -632686487.136533 4.480001142 + 25992950 -626487643.963656 4.480001192 + 26522392 -624115743.164982 4.480000986 + 27368930 -620323251.820923 4.480001408 + 27915783 -617873349.601991 4.480001089 + + ) + +\begintext + + +Contact Information +-------------------------------------------------------- + + Contact NAIF node of the Planetary Data System if you have any + questions regarding this SCLK file. + + Charles H. Acton, Jr + (818)-354-3869 + chuck.acton@jpl.nasa.gov + + Boris V. Semenov + (818)-354-8136 + boris.semenov@jpl.nasa.gov diff --git a/tests/pytests/data/f735a00/vo1_sedr_ck2_0_sliced_-27000.xc b/tests/pytests/data/f735a00/vo1_sedr_ck2_0_sliced_-27000.xc new file mode 100644 index 0000000000000000000000000000000000000000..f535e7d21e931f8b722e255545ce6e75a103d3de --- /dev/null +++ b/tests/pytests/data/f735a00/vo1_sedr_ck2_0_sliced_-27000.xc @@ -0,0 +1,101 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/CK ' +'2' +'6' +'VO1 PLATFORM ATTITUDE; CREATED BY BVS/NAIF; 2006-FEB-09 ' +BEGIN_ARRAY 1 80 +'VO1 ATT. BASED ON GEM AND SEDR FILES ' +'122DF066CC^A' +'122E1B6615^A' +'-6978' +'2' +'2' +'1' +80 +'60BAE2FF9377E4^-1' +'-7297AF3F99C068^-1' +'9A26C09802033^0' +'CC2B9860BF7C4^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'723F9FE60E38F^-1' +'-8E5BA3434CB3F8^-1' +'9ADE330545D3F8^0' +'CB85FBA8AFD88^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'59FF5C2BD5AF64^-1' +'-74D68FC13A594C^-1' +'9C38243F49C918^0' +'CA997A2B9A801^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6DA317049D4BD4^-1' +'-958CAA3AE81058^-1' +'9D8E8E3B7A0898^0' +'C9704999CD23A^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'55AFAEB074CF6C^-1' +'-7CC6C97CB2A1EC^-1' +'9EE327F5ECD82^0' +'C880AECAFC645^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'6A086A75B4E6A8^-1' +'-98B71F7ED22CE^-1' +'A0133940960F78^0' +'C7710BA98B8078^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'51DC30B3206E44^-1' +'-7D73B8FC526EA4^-1' +'A174F3CE64BEB^0' +'C671AC0CF2E9D8^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'65DC3F1AF382F^-1' +'-9945A0B47BF2^-1' +'A2BABA2E6EF008^0' +'C549EA8DCCED18^0' +'0^0' +'0^0' +'0^0' +'4189374BC6A7F^-2' +'122E0BB4E10002^A' +'122E0BC6720001^A' +'122E0BD7E0FFFD^A' +'122E0BE972FFFF^A' +'122E0BFAE0FFFF^A' +'122E0C0C730001^A' +'122E0C1DD90001^A' +'122E0C2F610003^A' +'122E0BBCB10002^A' +'122E0BCE420001^A' +'122E0BDFB0FFFD^A' +'122E0BF142FFFF^A' +'122E0C02B0FFFF^A' +'122E0C14430001^A' +'122E0C25A90001^A' +'122E0C37310003^A' +END_ARRAY 1 80 +TOTAL_ARRAYS 1 + ~NAIF/SPC BEGIN COMMENTS~ +This CK is for testing with the image: /home/pgiroux/Desktop/f735a00.cub + +This CK was generated using the following command: {} + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/f735a00/vo1_v10.tf b/tests/pytests/data/f735a00/vo1_v10.tf new file mode 100644 index 0000000000000000000000000000000000000000..0ce54d5df53a7c50b1257e28f7d0ac9fb7ad9ffb --- /dev/null +++ b/tests/pytests/data/f735a00/vo1_v10.tf @@ -0,0 +1,470 @@ +KPL/FK + +Viking Orbiter 1 Frames Kernel +=============================================================================== + + This frame kernel contains the complete set of frame definitions for + the Viking Orbiter 1 (VO1) spacecraft including definitions for the + spacecraft frame, instrument platform frame, and science instrument + frames. + + +Version and Date +------------------------------------------------------------------------------- + + Version 1.0 -- December 1, 2005 -- Boris Semenov, NAIF + + Initial Release. + + +References +------------------------------------------------------------------------------- + + 1. ``Frames Required Reading'' + + 2. ``Kernel Pool Required Reading'' + + 3. ``C-Kernel Required Reading'' + + 4. VO1 Supplemental Experiment Data Record (SEDR) file, 1976-1980. + + 5. Thomas C. Duxbury/JPL, March-July, 1996 + + +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 frame kernel must `load' the kernel, normally during + program initialization. The SPICELIB/CSPICE/ICY routine FURNSH loads + a kernel file into the pool as shown below. + + CALL FURNSH ( 'frame_kernel_name' ) SPICELIB/FORTRAN + + furnsh_c ( "frame_kernel_name" ); CSPICE/C + + cspice_furnsh, "frame_kernel_name" ICY/IDL + + This file was created and may be updated with a text editor or word + processor. + + +VO1 Frames +------------------------------------------------------------------------------- + + The following VO1 frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== =================== ============ ======= + + Spacecraft frame: + ----------------- + VO1_SPACECRAFT rel.to B1950 CK -27900 + + Instrument Platform frame: + -------------------------- + VO1_PLATFORM rel.to B1950 CK -27000 + + Science Instrument frames: + -------------------------- + VO1_VISA rel.to PLATFORM FIXED -27001 + VO1_VISA_TD rel.to PLATFORM FIXED -27011 + VO1_VISB rel.to PLATFORM FIXED -27002 + VO1_VISB_TD rel.to PLATFORM FIXED -27012 + VO1_IRTM rel.to PLATFORM FIXED -27003 + VO1_MAWD rel.to PLATFORM FIXED -27004 + + +VO1 Frames Hierarchy +------------------------------------------------------------------------------- + + The diagram below shows VO1 frames hierarchy: + + + "B1950" INERTIAL + +-----------------------------------------------------------+ + | | | | + | <--pck | <--ck | <--ck | <--pck + | | | | + V V | V + "IAU_MARS" "V01_SPACECRAFT" | "IAU_EARTH" + ----------- ---------------- | ------------ + | + | + V + "VO1_PLATFORM" + +---------------------------------------------------------+ + | | | | | | + | <--fixed | <--fixed fixed--> | | | | <--fixed + | | | | | | + V V V | | V + "VO1_IRTM" "VO1_MAWD" "VO1_VISA" | | "VO1_VISB" + ---------- ---------- ---------- | | ---------- + | | + | | + fixed--> | | <--fixed + | | + V V + "VO1_VISA_TD" "VO1_VISB_TD" + ------------- ------------- + + +Spacecraft Bus Frame +------------------------------------------------------------------------------- + + The spacecraft frame is defined as follows: + + [TBD] + + This diagram illustrates the spacecraft bus frame: + + [TBD] + + 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_VO1_SPACECRAFT = -27900 + FRAME_-27900_NAME = 'VO1_SPACECRAFT' + FRAME_-27900_CLASS = 3 + FRAME_-27900_CLASS_ID = -27900 + FRAME_-27900_CENTER = -27 + CK_-27900_SCLK = -27 + CK_-27900_SPK = -27 + + \begintext + + +Instrument Platform Frame +------------------------------------------------------------------------------- + + The instrument platform frame is defined as follows: + + [TBD] + + This diagram illustrates the instrument platform frame: + + [TBD] + + Since the platform 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_VO1_PLATFORM = -27000 + FRAME_-27000_NAME = 'VO1_PLATFORM' + FRAME_-27000_CLASS = 3 + FRAME_-27000_CLASS_ID = -27000 + FRAME_-27000_CENTER = -27 + CK_-27000_SCLK = -27 + CK_-27000_SPK = -27 + + \begintext + + +VISA and VISB Frames +------------------------------------------------------------------------------- + + The frames for the Visual Imaging Subsystem Camera A (VISA) and + Camera B (VISB) -- VO1_VISA and VO1_VISB -- are defined as follows: + + - Z axis is along the camera boresight; + + - X axis is along detector lines and points toward the right + side of the image; + + - Y axis completes the right hand frame; + + - the origin of this frame is located at the camera focal point. + + This diagram illustrates the camera frames: + + [TBD] + + Since the cameras were rigidly mounted on the instrument platform + their frames are defined as fixed offset frames with respect to the + platform frame. + + The camera orientation with respect to the platform was specified in + [4] as the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the following angle values for each of the two cameras: + + VISA: + + CROSS_CONE = -0.707350, deg + CONE = -0.007580, deg + RASTER_ORIENTATION = 89.735690, deg + + VISB: + + CROSS_CONE = 0.681000, deg + CONE = -0.032000, deg + RASTER_ORIENTATION = 90.022800, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO1_VISA = -27001 + FRAME_-27001_NAME = 'VO1_VISA' + FRAME_-27001_CLASS = 4 + FRAME_-27001_CLASS_ID = -27001 + FRAME_-27001_CENTER = -27 + TKFRAME_-27001_SPEC = 'ANGLES' + TKFRAME_-27001_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27001_ANGLES = ( -0.707350, 0.007580, -89.735690 ) + TKFRAME_-27001_AXES = ( 1, 2, 3 ) + TKFRAME_-27001_UNITS = 'DEGREES' + + FRAME_VO1_VISB = -27002 + FRAME_-27002_NAME = 'VO1_VISB' + FRAME_-27002_CLASS = 4 + FRAME_-27002_CLASS_ID = -27002 + FRAME_-27002_CENTER = -27 + TKFRAME_-27002_SPEC = 'ANGLES' + TKFRAME_-27002_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27002_ANGLES = ( 0.681000, 0.032000, -90.022800 ) + TKFRAME_-27002_AXES = ( 1, 2, 3 ) + TKFRAME_-27002_UNITS = 'DEGREES' + + \begintext + + Thomas Duxbury provided a different set of angle values for the cameras + (see [5]): + + VISA: + + CROSS_CONE = -0.707400, deg + CONE = -0.007600, deg + RASTER_ORIENTATION = 89.735400, deg + + VISB: + + CROSS_CONE = 0.681300, deg + CONE = -0.032100, deg + RASTER_ORIENTATION = 90.083900, deg + + To make this alignment solution available, two more frames parallel + to the camera frames and including the ``_TB'' suffix in the name + and defined below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the camera to the platform frame -- see [1].) + + \begindata + + FRAME_VO1_VISA_TD = -27011 + FRAME_-27011_NAME = 'VO1_VISA_TD' + FRAME_-27011_CLASS = 4 + FRAME_-27011_CLASS_ID = -27011 + FRAME_-27011_CENTER = -27 + TKFRAME_-27011_SPEC = 'ANGLES' + TKFRAME_-27011_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27011_ANGLES = ( -0.707400, 0.007600, -89.735400 ) + TKFRAME_-27011_AXES = ( 1, 2, 3 ) + TKFRAME_-27011_UNITS = 'DEGREES' + + FRAME_VO1_VISB_TD = -27012 + FRAME_-27012_NAME = 'VO1_VISB_TD' + FRAME_-27012_CLASS = 4 + FRAME_-27012_CLASS_ID = -27012 + FRAME_-27012_CENTER = -27 + TKFRAME_-27012_SPEC = 'ANGLES' + TKFRAME_-27012_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27012_ANGLES = ( 0.681300, 0.032100, -90.083900 ) + TKFRAME_-27012_AXES = ( 1, 2, 3 ) + TKFRAME_-27012_UNITS = 'DEGREES' + + \begintext + + +IRTM Frame +------------------------------------------------------------------------------- + + The frame for the Infrared Thermal Mapper -- VO1_IRTM -- is defined + as follows: + + [TBD] + + This diagram illustrates the IRTM frame: + + [TBD] + + Since the IRTM instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO1_IRTM = -27003 + FRAME_-27003_NAME = 'VO1_IRTM' + FRAME_-27003_CLASS = 4 + FRAME_-27003_CLASS_ID = -27003 + FRAME_-27003_CENTER = -27 + TKFRAME_-27003_SPEC = 'ANGLES' + TKFRAME_-27003_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27003_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-27003_AXES = ( 1, 2, 3 ) + TKFRAME_-27003_UNITS = 'DEGREES' + + \begintext + + +MAWD Frame +------------------------------------------------------------------------------- + + The frame for the Mars Atmosphere Water Detector (MAWD) -- VO1_MAWD + -- is defined as follows: + + [TBD] + + This diagram illustrates the MAWD frame: + + [TBD] + + Since the MAWD instrument was rigidly mounted on the instrument + platform its frame is defined as fixed offset frames with respect to + the platform frame. + + The instrument orientation with respect to the platform can be + specified using the following three rotation angles: + + T pl-cam = R (RASTER_ORIENTATION) R (CONE) R (-CROSS_CONE) + Z Y X + + with the nominal angle values: + + CROSS_CONE = 0.0, deg + CONE = 0.0, deg + RASTER_ORIENTATION = 90.0, deg + + These angles are used in the frame definition below. + + (The frame definition below contains the opposite of the rotation + described above because Euler angles specified in it define + transformation from the instrument to the platform frame -- see + [1].) + + \begindata + + FRAME_VO1_MAWD = -27004 + FRAME_-27004_NAME = 'VO1_MAWD' + FRAME_-27004_CLASS = 4 + FRAME_-27004_CLASS_ID = -27004 + FRAME_-27004_CENTER = -27 + TKFRAME_-27004_SPEC = 'ANGLES' + TKFRAME_-27004_RELATIVE = 'VO1_PLATFORM' + TKFRAME_-27004_ANGLES = ( 0.0, 0.0, -90.0 ) + TKFRAME_-27004_AXES = ( 1, 2, 3 ) + TKFRAME_-27004_UNITS = 'DEGREES' + + \begintext + + +Viking Orbiter 1 NAIF ID Codes -- Definition Section +======================================================================== + + This section contains name to NAIF ID mappings for the VO1. 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 and its structures: + ------------------------------ + + VIKING ORBITER 1 -27 + VO1 -27 + + VO1_SPACECRAFT_BUS -27900 + VO1_SC_BUS -27900 + VO1_SPACECRAFT -27900 + + VO1_INSTRUMENT_PLATFORM -27000 + VO1_PLATFORM -27000 + + Science Instruments: + -------------------- + + VO1_VISA -27001 + VO1_VISB -27002 + + VO1_IRTM -27003 + + VO1_MAWD -27004 + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'VIKING ORBITER 1' ) + NAIF_BODY_CODE += ( -27 ) + + NAIF_BODY_NAME += ( 'VO1' ) + NAIF_BODY_CODE += ( -27 ) + + NAIF_BODY_NAME += ( 'VO1_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -27900 ) + + NAIF_BODY_NAME += ( 'VO1_SC_BUS' ) + NAIF_BODY_CODE += ( -27900 ) + + NAIF_BODY_NAME += ( 'VO1_SPACECRAFT' ) + NAIF_BODY_CODE += ( -27900 ) + + NAIF_BODY_NAME += ( 'VO1_INSTRUMENT_PLATFORM' ) + NAIF_BODY_CODE += ( -27000 ) + + NAIF_BODY_NAME += ( 'VO1_PLATFORM' ) + NAIF_BODY_CODE += ( -27000 ) + + NAIF_BODY_NAME += ( 'VO1_VISA' ) + NAIF_BODY_CODE += ( -27001 ) + + NAIF_BODY_NAME += ( 'VO1_VISB' ) + NAIF_BODY_CODE += ( -27002 ) + + NAIF_BODY_NAME += ( 'VO1_IRTM' ) + NAIF_BODY_CODE += ( -27003 ) + + NAIF_BODY_NAME += ( 'VO1_MAWD' ) + NAIF_BODY_CODE += ( -27004 ) + + \begintext diff --git a/tests/pytests/test_viking_drivers.py b/tests/pytests/test_viking_drivers.py new file mode 100644 index 0000000000000000000000000000000000000000..08876e713fea2d693e0cf90c99d6cdd954cc3bd5 --- /dev/null +++ b/tests/pytests/test_viking_drivers.py @@ -0,0 +1,302 @@ +import pytest +import os +import numpy as np +import spiceypy as spice +from importlib import reload +import json + +import unittest +from unittest.mock import patch +from conftest import get_image_label, get_image_kernels, convert_kernels, compare_dicts + +import ale +from ale.drivers.viking_drivers import VikingIsisLabelNaifSpiceDriver + +image_dict = { + # Viking Orbiter 1 VISCA + 'f004a47': { + 'isis': { + 'CameraVersion': 1, + 'NaifKeywords': { + 'BODY_CODE': 499, + 'BODY499_RADII': [3396.19, 3396.19, 3376.2], + 'BODY_FRAME_CODE': 10014, + 'INS-27001_TRANSX': [0.0, 0.011764705882353, 0.0], + 'INS-27001_TRANSY': [0.0, 0.0, 0.011764705882353], + 'INS-27001_ITRANSS': [0.0, 85.0, 0.0], + 'INS-27001_ITRANSL': [0.0, 0.0, 85.0], + 'FRAME_-27001_CLASS_ID': -27001.0, + 'INS-27001_CK_REFERENCE_ID': 2.0, + 'TKFRAME_-27001_ANGLES': [-7.073500e-01, 7.580000e-03, -8.973569e+01], + 'FRAME_-27001_CENTER': -27.0, + 'TKFRAME_-27001_UNITS': 'DEGREES', + 'TKFRAME_-27001_RELATIVE': 'VO1_PLATFORM', + 'INS-27001_CK_FRAME_ID': -27000.0, + 'FRAME_-27001_NAME': 'VO1_VISA', + 'TKFRAME_-27001_AXES': [1., 2., 3.], + 'TKFRAME_-27001_SPEC': 'ANGLES', + 'FRAME_-27001_CLASS': 4.0, + 'BODY499_POLE_DEC': [52.8865, -0.0609, 0.0], + 'BODY499_POLE_RA': [317.68143, -0.1061, 0.0], + 'BODY499_PM': [176.63, 350.89198226, 0.0]}, + 'InstrumentPointing': { + 'TimeDependentFrames': [-27000, 2, 1], + 'ConstantFrames': [-27001, -27000], + 'ConstantRotation': [0.0046130633441499, 0.99991314725849, + 0.012345751747229, -0.99998935101548, + 0.0046143450547129, -7.53349414399155e-05, + -1.32295956915258e-04, -0.012345272752653, + 0.99992378546489], + 'CkTableStartTime': -742324621.5707, + 'CkTableEndTime': -742324621.5707, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-742324621.5707], + 'Quaternions': [[0.52681010146894,-0.23107660776762,0.74879344146168,-0.32921588715745]], + 'AngularVelocity': [[0.0,0.0,0.0]]}, + 'BodyRotation': { + 'TimeDependentFrames': [10014, 1], + 'CkTableStartTime': -742324621.5707, + 'CkTableEndTime': -742324621.5707, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-742324621.5707], + 'Quaternions': [[-0.61809902466787,0.31800072486684,-0.0089011036547319,0.71885318740513]], + 'AngularVelocity': [[3.16267887431502e-05,-2.87717183114938e-05,5.65351035056844e-05]]}, + 'InstrumentPosition': { + 'SpkTableStartTime': -742324621.5707, + 'SpkTableEndTime': -742324621.5707, + 'SpkTableOriginalSize': 1.0, + 'EphemerisTimes': [-742324621.5707], + 'Positions': [[2968.0235853136,3479.4553212221,1904.2575671941]], + 'Velocities': [[-1.9793481062728,-0.62668469080666,3.3004150826369]]}, + 'SunPosition': { + 'SpkTableStartTime': -742324621.5707, + 'SpkTableEndTime': -742324621.5707, + 'SpkTableOriginalSize': 1.0, + 'EphemerisTimes': [-742324621.5707], + 'Positions': [[244748920.95492,-35758272.270036,-23031611.614447]], + 'Velocities': [[3.182248924045,19.865617818691,9.025318966287]]}}}, + + # Viking Orbiter 1 VISCB + 'f735a00': { + 'isis': { + 'CameraVersion': 1, + 'NaifKeywords': {'BODY_CODE': 499, + 'BODY499_RADII': [3396.19, 3396.19, 3376.2], + 'BODY_FRAME_CODE': 10014, + 'INS-27002_TRANSX' : [0.0, 0.011764705882353, 0.0], + 'INS-27002_TRANSY' : [0.0, 0.0, 0.011764705882353], + 'INS-27002_ITRANSS' : [0.0, 85.0, 0.0], + 'INS-27002_ITRANSL' : [0.0, 0.0, 85.0], + 'INS-27002_CK_REFERENCE_ID': 2.0, + 'TKFRAME_-27002_ANGLES': [ 6.81000e-01, 3.20000e-02, -9.00228e+01], + 'FRAME_-27002_CENTER': -27.0, + 'FRAME_-27002_NAME': 'VO1_VISB', + 'TKFRAME_-27002_RELATIVE': 'VO1_PLATFORM', + 'INS-27002_CK_FRAME_ID': -27000.0, + 'TKFRAME_-27002_AXES': [1., 2., 3.], + 'TKFRAME_-27002_SPEC': 'ANGLES', + 'FRAME_-27002_CLASS_ID': -27002.0, + 'FRAME_-27002_CLASS': 4.0, + 'TKFRAME_-27002_UNITS': 'DEGREES', + 'BODY499_POLE_DEC': [52.8865, -0.0609, 0. ], + 'BODY499_POLE_RA': [ 3.1768143e+02, -1.0610000e-01, 0.0000000e+00], + 'BODY499_PM': [176.63 , 350.89198226, 0. ] + }, + 'InstrumentPointing': {'TimeDependentFrames': [-27000, 2, 1], + 'CkTableStartTime': -679343589.99066, + 'CkTableEndTime': -679343589.99066, + 'CkTableOriginalSize': 1, + 'ConstantFrames': [-27002, -27000], + 'ConstantRotation': [-3.97934996888762e-04, 0.99992928417985, -0.011885633652183, -0.99999976485974, + -4.04545016850005e-04, -5.53736215647129e-04,-5.58505331602587e-04, 0.011885410506373, + 0.99992921003884], + 'EphemerisTimes': [-679343589.99066], + 'Quaternions': [[0.027631069885584,-0.042844653015238,0.63550118209549,0.77041489292473]], + 'AngularVelocity': [[0.0,0.0,0.0]]}, + 'BodyRotation': {'TimeDependentFrames': [10014, 1], + 'CkTableStartTime': -679343589.99066, + 'CkTableEndTime': -679343589.99066, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-679343589.99066], + 'Quaternions': [[-0.7279379541667,0.013628253415821,0.31784329352737,-0.60736829547822]], + 'AngularVelocity': [[3.16266124745133e-05,-2.87736941823106e-05,5.6534196515818e-05]]}, + 'InstrumentPosition': {'SpkTableStartTime': -679343589.99066, + 'SpkTableEndTime': -679343589.99066, + 'SpkTableOriginalSize': 1, + 'EphemerisTimes': [-679343589.99066], + 'Positions': [[3804.7657059701,-29029.379045591,-8152.7028148086]], + 'Velocities': [[0.61887065223952,-0.54866918471373,-0.037514399215278]]}, + 'SunPosition': {'SpkTableStartTime': -679343589.99066, + 'SpkTableEndTime': -679343589.99066, + 'SpkTableOriginalSize': 1, + 'EphemerisTimes': [-679343589.99066], + 'Positions': [[242154815.26715,36901072.557543,10366793.725074]], + 'Velocities': [[-4.6653907628395,19.836822435663,9.2246820568878]]}}}, + + # Viking Orbiter 2 VISCA + 'f004b65': { + 'isis': { + 'CameraVersion': 1, + 'NaifKeywords': {'BODY_CODE': 499, + 'BODY499_RADII': [3396.19, 3396.19, 3376.2], + 'BODY_FRAME_CODE': 10014, + 'INS-30001_TRANSX': [0.0, 0.011764705882353, 0.0], + 'INS-30001_TRANSY': [0.0, 0.0, 0.011764705882353], + 'INS-30001_ITRANSS': [0.0, 85.0, 0.0], + 'INS-30001_ITRANSL': [0.0, 0.0, 85.0], + 'TKFRAME_-30001_UNITS': 'DEGREES', + 'TKFRAME_-30001_ANGLES': [-6.7933000e-01, 2.3270000e-02, -8.9880691e+01], + 'FRAME_-30001_CENTER': -30.0, + 'FRAME_-30001_NAME': 'VO2_VISA', + 'TKFRAME_-30001_AXES': [1., 2., 3.], + 'TKFRAME_-30001_SPEC': 'ANGLES', + 'FRAME_-30001_CLASS_ID': -30001.0, + 'TKFRAME_-30001_RELATIVE': 'VO2_PLATFORM', + 'INS-30001_CK_FRAME_ID': -30000.0, + 'FRAME_-30001_CLASS': 4.0, + 'INS-30001_CK_REFERENCE_ID': 2.0, + 'BODY499_POLE_DEC': [52.8865, -0.0609, 0.0], + 'BODY499_POLE_RA': [317.68143, -0.1061, 0.0], + 'BODY499_PM': [176.63, 350.89198226, 0.0]}, + 'InstrumentPointing': {'TimeDependentFrames': [-30000, 2, 1], + 'ConstantFrames': [-30001, -30000], + 'ConstantRotation': [0.0020823332006485, 0.99992753405817, + 0.011857087365694, -0.99999774946761, + 0.0020870022808706, -3.81419977354999e-04, + -4.06138105773791e-04, -0.011856266437452, + 0.999929629523], + 'CkTableStartTime': -738066654.57901, + 'CkTableEndTime': -738066654.57901, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-738066654.57901], + 'Quaternions': [[0.24875871307312,-0.29788492418696,0.65237809296024,0.65098886199219]], + 'AngularVelocity': [[0.0,0.0,0.0]]}, + 'BodyRotation': {'TimeDependentFrames': [10014, 1], + 'CkTableStartTime': -738066654.57901, + 'CkTableEndTime': -738066654.57901, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-738066654.57901], + 'Quaternions': [[-0.53502287519129,0.31507831776488,-0.043929225721799,0.7826534353237]], + 'AngularVelocity': [[3.16267768298231e-05,-2.87718518940354e-05,5.65350421875015e-05]]}, + 'InstrumentPosition': {'SpkTableStartTime': -738066654.57901, + 'SpkTableEndTime': -738066654.57901, + 'SpkTableOriginalSize': 1.0, + 'EphemerisTimes': [-738066654.57901], + 'Positions': [[4553.9327290117,-1511.8974073078,1092.1996085889]], + 'Velocities': [[-0.24727917113306,2.4028815935793,3.0999864190804]]}, + 'SunPosition': {'SpkTableStartTime': -738066654.57901, + 'SpkTableEndTime': -738066654.57901, + 'SpkTableOriginalSize': 1.0, + 'EphemerisTimes': [-738066654.57901], + 'Positions': [[238736005.86526,49393960.380247,16187072.695853]], + 'Velocities': [[-6.0452401714101,19.592116149966,9.1498650350044]]}}}, + + # Viking Orbiter 2 VISCB + 'f704b28': { + 'isis': { + 'CameraVersion': 1, + 'NaifKeywords': {'BODY_CODE': 499, + 'BODY499_RADII': [3396.19, 3396.19, 3376.2], + 'BODY_FRAME_CODE': 10014, + 'INS-30002_TRANSX': [0.0, 0.011764705882353, 0.0], + 'INS-30002_TRANSY': [0.0, 0.0, 0.011764705882353], + 'INS-30002_ITRANSS': [0.0, 85.0, 0.0], + 'INS-30002_ITRANSL': [0.0, 0.0, 85.0], + 'TKFRAME_-30002_AXES': [1., 2., 3.], + 'TKFRAME_-30002_SPEC': 'ANGLES', + 'TKFRAME_-30002_ANGLES':[ 6.630000e-01, 4.400000e-02, -8.966379e+01], + 'FRAME_-30002_CENTER': -30.0, + 'FRAME_-30002_CLASS': 4.0, + 'INS-30002_CK_FRAME_ID': -30000.0, + 'FRAME_-30002_CLASS_ID': -30002.0, + 'TKFRAME_-30002_UNITS': 'DEGREES', + 'TKFRAME_-30002_RELATIVE': 'VO2_PLATFORM', + 'INS-30002_CK_REFERENCE_ID': 2.0, + 'FRAME_-30002_NAME': 'VO2_VISB', + 'BODY499_POLE_DEC': [52.8865, -0.0609, 0.0], + 'BODY499_POLE_RA': [ 317.68143, -0.1061, 0.0], + 'BODY499_PM': [176.63, 350.89198226, 0.0]}, + 'InstrumentPointing': {'TimeDependentFrames': [-30000, 2, 1], + 'ConstantFrames': [-30002, -30000], + 'ConstantRotation': [0.0058679360725137, 0.99991588736024, + -0.011566569536285, -0.9999824886402, + 0.0058586590004418, -8.35779681749578e-04, + -7.67944795396292e-04, 0.011571271291668, + 0.99993275570985], + 'CkTableStartTime': -676709864.3045, + 'CkTableEndTime': -676709864.3045, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-676709864.3045], + 'Quaternions': [[0.14671376032888,-0.20207775752139,0.96766874650245,0.03545207310812]], + 'AngularVelocity': [[0.0,0.0,0.0]]}, + 'BodyRotation': {'TimeDependentFrames': [10014, 1], + 'CkTableStartTime': -676709864.3045, + 'CkTableEndTime': -676709864.3045, + 'CkTableOriginalSize': 1, + 'EphemerisTimes': [-676709864.3045], + 'Quaternions': [[-0.028648237381698,0.24168074000221,-0.20688348409661,0.94761222154157]], + 'AngularVelocity': [[3.16266051008033e-05,-2.87737768090931e-05,5.6534158586979e-05]]}, + 'InstrumentPosition': {'SpkTableStartTime': -676709864.3045, + 'SpkTableEndTime': -676709864.3045, + 'SpkTableOriginalSize': 1.0, + 'EphemerisTimes': [-676709864.3045], + 'Positions': [[3297.8743337482,966.46050377782,10725.740343691]], + 'Velocities': [[-0.44211958524766,1.2883896612093,1.9012944589374]]}, + 'SunPosition': {'SpkTableStartTime': -676709864.3045, + 'SpkTableEndTime': -676709864.3045, + 'SpkTableOriginalSize': 1.0, + 'EphemerisTimes': [-676709864.3045], + 'Positions': [[222364052.49946,87428117.498071,34077452.005079]], + 'Velocities': [[-10.327617595005,18.315940117221,8.6804664968805]]}}} + } + +@pytest.fixture(scope="module") +def test_kernels(): + updated_kernels = {} + binary_kernels = {} + for image in image_dict.keys(): + kernels = get_image_kernels(image) + updated_kernels[image], binary_kernels[image] = convert_kernels(kernels) + yield updated_kernels + for kern_list in binary_kernels.values(): + for kern in kern_list: + os.remove(kern) + +@pytest.mark.parametrize("label_type", ['isis3']) +@pytest.mark.parametrize("formatter", ['isis']) +@pytest.mark.parametrize("image", image_dict.keys()) +def test_viking1_load(test_kernels, label_type, formatter, image): + label_file = get_image_label(image, label_type) + isis_isd = ale.load(label_file, props={'kernels': test_kernels[image]}, formatter=formatter) + print(isis_isd) + assert compare_dicts(isis_isd, image_dict[image][formatter]) == [] + +# ========= Test isislabel and naifspice driver ========= +class test_isis_naif(unittest.TestCase): + + def setUp(self): + label = get_image_label("f735a00", "isis3") + self.driver = VikingIsisLabelNaifSpiceDriver(label) + + def test_short_mission_name(self): + assert self.driver.short_mission_name == 'viking' + + def test_spacecraft_name(self): + assert self.driver.spacecraft_name == 'VIKING ORBITER 1' + + def test_ikid(self): + assert self.driver.ikid == -27002 + + def test_alt_ikid(self): + assert self.driver.alt_ikid == -27999 + + def test_ephemeris_start_time(self): + with patch('ale.drivers.viking_drivers.spice.scs2e', return_value=54321) as scs2e: + assert self.driver.ephemeris_start_time == 54324.99 + scs2e.assert_called_with(-27999, '40031801') + + @patch('ale.base.label_isis.IsisLabel.exposure_duration', 0.43) + def test_ephemeris_start_time_different_exposure(self): + with patch('ale.drivers.viking_drivers.spice.scs2e', return_value=54321) as scs2e: + assert self.driver.ephemeris_start_time == 54322.75 + scs2e.assert_called_with(-27999, '40031801')