From 40c2ff96d45e346bc3058c0c600544d3d03f023c Mon Sep 17 00:00:00 2001 From: Christine Kim Date: Thu, 15 Jun 2023 10:56:43 -0700 Subject: [PATCH 1/5] Added Mariner10 driver and test --- ale/drivers/mariner_drivers.py | 89 + tests/pytests/data/27265/27265-output.json | 226 + tests/pytests/data/27265/27265.isis_0.conf | 9 + tests/pytests/data/27265/27265.isis_0.xsp | 282 ++ tests/pytests/data/27265/27265_isis.lbl | 371 ++ .../MARINER_10_A_gem_0_sliced_-76000.cmt | 4 + .../27265/MARINER_10_A_gem_0_sliced_-76000.xc | 81 + tests/pytests/data/27265/m10_v00.tf | 183 + tests/pytests/data/27265/mariner10.0001.tf | 241 ++ tests/pytests/data/27265/mariner10.0001.tsc | 101 + .../data/27265/mariner10Addendum001.ti | 36 + .../data/27265/mariner10Addendum002.ti | 56 + tests/pytests/data/27265/naif0012.tls | 152 + tests/pytests/data/27265/pck00009.tpc | 3639 +++++++++++++++++ tests/pytests/data/isds/mariner10_isd.json | 226 + tests/pytests/test_mariner_drivers.py | 45 + 16 files changed, 5741 insertions(+) create mode 100644 ale/drivers/mariner_drivers.py create mode 100644 tests/pytests/data/27265/27265-output.json create mode 100644 tests/pytests/data/27265/27265.isis_0.conf create mode 100644 tests/pytests/data/27265/27265.isis_0.xsp create mode 100644 tests/pytests/data/27265/27265_isis.lbl create mode 100644 tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.cmt create mode 100644 tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.xc create mode 100755 tests/pytests/data/27265/m10_v00.tf create mode 100755 tests/pytests/data/27265/mariner10.0001.tf create mode 100755 tests/pytests/data/27265/mariner10.0001.tsc create mode 100755 tests/pytests/data/27265/mariner10Addendum001.ti create mode 100755 tests/pytests/data/27265/mariner10Addendum002.ti create mode 100755 tests/pytests/data/27265/naif0012.tls create mode 100644 tests/pytests/data/27265/pck00009.tpc create mode 100644 tests/pytests/data/isds/mariner10_isd.json create mode 100644 tests/pytests/test_mariner_drivers.py diff --git a/ale/drivers/mariner_drivers.py b/ale/drivers/mariner_drivers.py new file mode 100644 index 000000000..eb2c089c9 --- /dev/null +++ b/ale/drivers/mariner_drivers.py @@ -0,0 +1,89 @@ +import spiceypy as spice +from ale.base.data_naif import NaifSpice +from ale.base.label_isis import IsisLabel +from ale.base.type_sensor import Framer +from ale.base.type_distortion import NoDistortion +from ale.base.base import Driver + +class Mariner10IsisLabelNaifSpiceDriver(Framer, IsisLabel, NaifSpice, NoDistortion, Driver): + + @property + def instrument_id(self): + """ + Returns the ID of the instrument + + Returns + ------- + : str + Name of the instrument + """ + inst_id_lookup = { + "M10_VIDICON_A": "M10_VIDICON_A", + "M10_VIDICON_B": "M10_VIDICON_B" + } + return inst_id_lookup[super().instrument_id] + + @property + def spacecraft_name(self): + return self.label['IsisCube']['Instrument']['SpacecraftName'] + + @property + def sensor_model_version(self): + """ + The ISIS Sensor model number for HiRise in ISIS. This is likely just 1. + + Returns + ------- + : int + ISIS sensor model version + """ + return 1 + + @property + def sensor_name(self): + """ + Returns the name of the instrument + + Returns + ------- + : str + Name of the sensor + """ + return self.instrument_id + + @property + def sensor_frame_id(self): + """ + Hard coded sensor_frame_id based on the Isis Mariner10 camera model. + + Returns + ------- + : int + The sensor frame id + """ + return -76000 + + @property + def ikid(self): + """ + Returns the ikid/frame code from the ISIS label. + + Returns + ------- + : int + Naif ID used to for identifying the instrument in Spice kernels + """ + return self.label['IsisCube']['Kernels']['NaifFrameCode'] + + @property + def ephemeris_start_time(self): + """ + Returns the start ephemeris time for the image. + + Returns + ------- + : float + start time + """ + return spice.str2et(self.utc_start_time.strftime("%Y-%m-%d %H:%M:%S.%f")) - (self.exposure_duration / 2.0) + \ No newline at end of file diff --git a/tests/pytests/data/27265/27265-output.json b/tests/pytests/data/27265/27265-output.json new file mode 100644 index 000000000..ee8be6b10 --- /dev/null +++ b/tests/pytests/data/27265/27265-output.json @@ -0,0 +1,226 @@ +{ + "isis_camera_version": 1, + "image_lines": 700, + "image_samples": 832, + "name_platform": "Mariner_10", + "name_sensor": "M10_VIDICON_A", + "reference_height": { + "maxheight": 1000, + "minheight": -1000, + "unit": "m" + }, + "name_model": "USGS_ASTRO_FRAME_SENSOR_MODEL", + "center_ephemeris_time": -812916168.4183488, + "radii": { + "semimajor": 2439.7, + "semiminor": 2439.7, + "unit": "km" + }, + "body_rotation": { + "time_dependent_frames": [ + 10011, + 1 + ], + "ck_table_start_time": -812916168.4183488, + "ck_table_end_time": -812916168.4183488, + "ck_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "quaternions": [ + [ + -0.041589464253201175, + -0.036695469453297484, + 0.24381936260450102, + -0.9682333796166442 + ] + ], + "angular_velocities": [ + [ + 1.1326300442450132e-07, + -5.816846505242454e-07, + 1.0892405863919202e-06 + ] + ], + "reference_frame": 1 + }, + "instrument_pointing": { + "time_dependent_frames": [ + -76000, + 1 + ], + "ck_table_start_time": -812916168.4183488, + "ck_table_end_time": -812916168.4183488, + "ck_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "quaternions": [ + [ + -0.4151219005736828, + 0.5204702103512857, + 0.2881986100016333, + 0.6882776539988121 + ] + ], + "angular_velocities": [ + [ + -0.0, + -0.0, + -0.0 + ] + ], + "reference_frame": 1, + "constant_frames": [ + -76000 + ], + "constant_rotation": [ + 1.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "naif_keywords": { + "BODY199_RADII": [ + 2439.7, + 2439.7, + 2439.7 + ], + "BODY_FRAME_CODE": 10011, + "BODY_CODE": 199, + "INS-76110_FOCAL_LENGTH": 1493.6, + "INS-76110_BORESIGHT_LINE": 400.0, + "INS-76110_CK_FRAME_ID": -76000.0, + "INS-76110_ITRANSL": [ + 0.0, + 0.0, + 75.0 + ], + "INS-76110_ITRANSS": [ + 0.0, + 75.0, + 0.0 + ], + "INS-76110_CK_REFERENCE_ID": 1.0, + "FRAME_-76110_CLASS": 3.0, + "INS-76110_CK_TIME_TOLERANCE": 1.0, + "CK_-76110_SPK": -76.0, + "INS-76110_PLATFORM_ID": -76.0, + "FRAME_-76110_CENTER": -76.0, + "FRAME_-76110_NAME": "VIDICON_A", + "FRAME_-76110_CLASS_ID": -76110.0, + "INS-76110_CK_TIME_BIAS": 0.0, + "INS-76110_BORESIGHT_SAMPLE": 475.0, + "CK_-76110_SCLK": -76.0, + "INS-76110_PIXEL_PITCH": 0.013333333, + "INS-76110_SPK_TIME_BIAS": 0.0, + "INS-76110_TRANSX": [ + 0.0, + 0.013333333, + 0.0 + ], + "INS-76110_TRANSY": [ + 0.0, + 0.0, + 0.013333333 + ], + "BODY199_PM": [ + 329.548, + 6.1385025, + 0.0 + ], + "BODY199_POLE_RA": [ + 281.01, + -0.033, + 0.0 + ], + "BODY199_LONG_AXIS": 0.0, + "BODY199_POLE_DEC": [ + 61.45, + -0.005, + 0.0 + ] + }, + "detector_sample_summing": 1, + "detector_line_summing": 1, + "focal_length_model": { + "focal_length": 1493.6 + }, + "detector_center": { + "line": 400.0, + "sample": 475.0 + }, + "focal2pixel_lines": [ + 0.0, + 0.0, + 75.0 + ], + "focal2pixel_samples": [ + 0.0, + 75.0, + 0.0 + ], + "optical_distortion": { + "radial": { + "coefficients": [ + 0.0, + 0.0, + 0.0 + ] + } + }, + "starting_detector_line": 0, + "starting_detector_sample": 0, + "instrument_position": { + "spk_table_start_time": -812916168.4183488, + "spk_table_end_time": -812916168.4183488, + "spk_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "positions": [ + [ + -102988.65244940185, + 3813.6761044064274, + -31476.7258130999 + ] + ], + "velocities": [ + [ + 10.073083917183162, + -0.6608509235485678, + 2.9052260072869664 + ] + ], + "reference_frame": 1 + }, + "sun_position": { + "spk_table_start_time": -812916168.4183488, + "spk_table_end_time": -812916168.4183488, + "spk_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "positions": [ + [ + 6487626.304499695, + 61459556.251802824, + 32153267.064496163 + ] + ], + "velocities": [ + [ + -38.73233838516926, + 0.39826024551668027, + 4.232611805855759 + ] + ], + "reference_frame": 1 + } +} \ No newline at end of file diff --git a/tests/pytests/data/27265/27265.isis_0.conf b/tests/pytests/data/27265/27265.isis_0.conf new file mode 100644 index 000000000..ebec7ca88 --- /dev/null +++ b/tests/pytests/data/27265/27265.isis_0.conf @@ -0,0 +1,9 @@ +LEAPSECONDS_KERNEL = /isis_data/base/kernels/lsk/naif0012.tls +SPK_KERNEL = /testdata/mariner10-driver/generated-kernels/27265.isis_0.bsp + BODIES = 0, 1, 199, 10, -76 + BEGIN_TIME = 1974 MAR 29 17:50:22.619 + END_TIME = 1974 MAR 29 17:58:37.796 + SOURCE_SPK_KERNEL = /isis_data/mariner10/kernels/spk/MARINER_10_A_gem.bsp + INCLUDE_COMMENTS = no + SOURCE_SPK_KERNEL = /isis_data/base/kernels/spk/de430.bsp + INCLUDE_COMMENTS = no diff --git a/tests/pytests/data/27265/27265.isis_0.xsp b/tests/pytests/data/27265/27265.isis_0.xsp new file mode 100644 index 000000000..5f83a5df8 --- /dev/null +++ b/tests/pytests/data/27265/27265.isis_0.xsp @@ -0,0 +1,282 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/SPK ' +'2' +'6' +'SPKMERGE ' +BEGIN_ARRAY 1 114 +'MERCURY Mariner 10 Type 9 Segment ' +'-30741F34320262^8' +'-30741D4504B282^8' +'-4C' +'C7' +'1' +'9' +114 +'-1AFFA^5' +'10DA^4' +'-8386^4' +'A13D32B6076A^1' +'-B3CF831952833^0' +'2E30D511378058^1' +'-1ACAC^5' +'109F^4' +'-8293^4' +'A124D124810218^1' +'-B3CF83172E83D8^0' +'2E30D510AABA8C^1' +'-1A95E^5' +'1064^4' +'-81A1^4' +'A124D124810218^1' +'-B2496A1D7E646^0' +'2E30D510AABA8C^1' +'-1A61^5' +'102A^4' +'-80AE^4' +'A0F40E07358528^1' +'-96DBA890E7F04^0' +'2F24A4AD487B14^1' +'-1A2C4^5' +'1001^4' +'-7FB2^4' +'A10C6F96D0D17^1' +'-96DBA890E7F04^0' +'2F24A4AD487B14^1' +'-19F75^5' +'FC7^3' +'-7EBF^4' +'A124D124810218^1' +'-AF3D382A1E256^0' +'2E4936A045BC84^1' +'-19C28^5' +'F8E^3' +'-7DCC^4' +'A10C6F94E6002^1' +'-ADB71F306E05E8^0' +'2E61982FE0BE7C^1' +'-198DA^5' +'F55^3' +'-7CD8^4' +'A124D1266C1DB8^1' +'-AC310638CAAD6^0' +'2E79F9C009652A^1' +'-1958C^5' +'F1D^3' +'-7BE4^4' +'A13D32B6076A^1' +'-AAAAED3F15E9^0' +'2E79F9C009652A^1' +'-1923D^5' +'EE5^3' +'-7AF^4' +'A124D1266C1DB8^1' +'-A924D4456124A^0' +'2E79F9C009652A^1' +'-18EF^5' +'EAE^3' +'-79FC^4' +'A10C6F96D0D17^1' +'-A79EBB4BAC6048^0' +'2E925B4FA4B17^1' +'-18BA2^5' +'E77^3' +'-7907^4' +'A124D124810218^1' +'-A79EBB49AD87F^0' +'2EAABCDEB1C464^1' +'-18854^5' +'E4^3' +'-7812^4' +'A19EF7FF8F5D48^1' +'-9861FCFB35DBF^0' +'2D3D171A93FD4C^1' +'-18501^5' +'E13^3' +'-772C^4' +'A19EB8F4749B18^1' +'-96DBA890E7F04^0' +'2D3D057526859E^1' +'-181B3^5' +'DDD^3' +'-7637^4' +'A10C6F94E6002^1' +'-A30C705C9D2978^0' +'2EC31E6E4CC65C^1' +'-17E66^5' +'DA8^3' +'-7541^4' +'A0F44CCDD327D^1' +'-A18696648522D^0' +'2EC330ABE4BB6E^1' +'-307420BC70BAB4^8' +'-3074206870BAB4^8' +'-3074201470FC3C^8' +'-30741FC070FC3C^8' +'-30741F6C713DC6^8' +'-30741F18713DC6^8' +'-30741EC4717F4E^8' +'-30741E70717F4E^8' +'-30741E1C71C0D8^8' +'-30741DC871C0D8^8' +'-30741D74720262^8' +'-30741D20720262^8' +'-30741CCC7243EA^8' +'-30741C78728574^8' +'-30741C24728574^8' +'-30741BD072C6FC^8' +'9^1' +'1^2' +END_ARRAY 1 114 +BEGIN_ARRAY 2 12 +'DE-0430LE-0430 ' +'-30741F34320262^8' +'-30741D4504B282^8' +'C7' +'1' +'1' +'2' +12 +'BC26EB4^8' +'40A952^9' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'0^0' +'-34E6E34C^9' +'8152A4^9' +'8^1' +'1^1' +END_ARRAY 2 12 +BEGIN_ARRAY 3 39 +'DE-0430LE-0430 ' +'-30741F34320262^8' +'-30741D4504B282^8' +'A' +'0' +'1' +'2' +39 +'-3073C8C^8' +'A8C^5' +'-5D6A0CF44390D4^5' +'-A6DD7F1A90B498^3' +'12469F3F7188A9^2' +'2AC5140278C45C^0' +'DAF52BA8A548A^-2' +'5B1C3483EE11D4^-4' +'63EFA9BD78B998^-5' +'-B9A6DFD745657^-6' +'-1D935EAB739EA9^-6' +'-95CF581237AC38^-7' +'-5F62665051FF7^-8' +'3861112528D1D2^5' +'-1A06692BBCF8A3^4' +'-D5C719BAE45498^1' +'-138314BC278A72^0' +'E4AA78BCB10BA8^-2' +'44FEBB5BE03BF8^-3' +'5677D29BC4FF98^-4' +'28E4F8C18DCE04^-5' +'73791785EA7A1^-6' +'254E5C68B9055^-7' +'285B00B1CFBE64^-8' +'1B10241CBD5499^5' +'-B0CD284C109A48^3' +'-644BD2CEB8AFF^1' +'-B806F8CA37FFF8^-1' +'5EED6CFB12CFD^-2' +'1C997EC2F95C01^-3' +'2E9B73D3166A2E^-4' +'1783966EC0B42E^-5' +'40AF415ADBA9FC^-6' +'232407A332E4AE^-7' +'1DDEEEB11205CE^-8' +'-307E54C^8' +'1518^6' +'23^2' +'1^1' +END_ARRAY 3 39 +BEGIN_ARRAY 4 48 +'DE-0430LE-0430 ' +'-30741F34320262^8' +'-30741D4504B282^8' +'1' +'0' +'1' +'2' +48 +'-30790EC^8' +'546^5' +'-12165EE209BF8^7' +'C29F0AC9A1CC9^6' +'357A3132A9B00E^5' +'-62B09CE51E23C4^4' +'-2327BB56D34A8C^2' +'-C1042A52C8CE4^1' +'-263F132CA2DB5A^0' +'DE44C2F497DAF^-2' +'-FA0F6AD93D7CD^-3' +'15DCFEF2AF5A03^-3' +'-40B508CBED69C8^-5' +'8BB9F3BA175678^-6' +'24049C434442E6^-7' +'14104B18D72055^-7' +'-38676C119AD704^7' +'-2A98109765E1F2^6' +'AAB2C47C24256^5' +'11E311A80D1BF3^4' +'-111981AB8ADBBF^3' +'3B4C616D8B6292^1' +'-8C690CDD2B36F8^0' +'7D904C06291528^-2' +'-23CB3CACAA128C^-2' +'-24D69A9B45F1A6^-4' +'-2C4448D291C18^-5' +'-2640B3E911650C^-6' +'36D39E0F1F99B2^-7' +'-150DD955CC0BF5^-7' +'-1C4C924E81052A^7' +'-2AF22235DE6D18^6' +'559F72F42E08B^5' +'13CBE5ACEFC80D^4' +'-8E7BB3C71C0FE^2' +'33B473BD99DB96^1' +'-4706B9224E36F^0' +'2BFEF734D2026^-2' +'-117EF2B9839FDD^-2' +'-37FD5EA2E4B25A^-4' +'-10E4B92E12B58A^-5' +'-22A5531BB879CA^-6' +'11D64A86F054C^-7' +'-E09D5225E35338^-9' +'-307E54C^8' +'A8C^5' +'2C^2' +'1^1' +END_ARRAY 4 48 +TOTAL_ARRAYS 4 + ~NAIF/SPC BEGIN COMMENTS~ +; /testdata/mariner10-driver/generated-kernels/27265.isis_0.bsp LOG FILE + +; Created 2023-06-12/12:16:35.00. +; +; BEGIN SPKMERGE COMMANDS + +LEAPSECONDS_KERNEL = /isis_data/base/kernels/lsk/naif0012.tls + +SPK_KERNEL = /testdata/mariner10-driver/generated-kernels/27265.isis_0.bsp +SOURCE_SPK_KERNEL = /isis_data/mariner10/kernels/spk/MARINER_10_A_gem.bsp + INCLUDE_COMMENTS = NO + BODIES = -76 + BEGIN_TIME = 1974 MAR 29 17:50:22.619 + END_TIME = 1974 MAR 29 17:58:37.796 + SOURCE_SPK_KERNEL = /isis_data/base/kernels/spk/de430.bsp + INCLUDE_COMMENTS = NO + BODIES = 1, 199, 10 + BEGIN_TIME = 1974 MAR 29 17:50:22.619 + END_TIME = 1974 MAR 29 17:58:37.796 + +; END SPKMERGE COMMANDS + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/27265/27265_isis.lbl b/tests/pytests/data/27265/27265_isis.lbl new file mode 100644 index 000000000..012621514 --- /dev/null +++ b/tests/pytests/data/27265/27265_isis.lbl @@ -0,0 +1,371 @@ +Object = IsisCube + Object = Core + StartByte = 65537 + Format = Tile + TileSamples = 128 + TileLines = 128 + + Group = Dimensions + Samples = 832 + Lines = 700 + Bands = 1 + End_Group + + Group = Pixels + Type = UnsignedByte + ByteOrder = Lsb + Base = 0.0 + Multiplier = 1.0 + End_Group + End_Object + + Group = Instrument + SpacecraftName = Mariner_10 + InstrumentId = M10_VIDICON_A + TargetName = Mercury + StartTime = 1974-03-29T17:56:26.396 + ExposureDuration = 22.799999 + End_Group + + Group = Archive + GMT = 1974:088:18:04:52 + ImageNumber = 27265 + Encounter = Mercury_1 + End_Group + + Group = BandBin + FilterName = CLEAR + FilterNumber = 5 + OriginalBand = 1 + Center = 0.487 + End_Group + + Group = Kernels + NaifFrameCode = -76110 + LeapSecond = $base/kernels/lsk/naif0009.tls + TargetAttitudeShape = $base/kernels/pck/pck00009.tpc + TargetPosition = (Table, $base/kernels/spk/de405.bsp) + InstrumentPointing = (Table, + $mariner10/kernels/ck/MARINER_10_A_gem.bc, + $mariner10/kernels/fk/mariner10.0001.tf) + Instrument = Null + SpacecraftClock = $mariner10/kernels/sclk/mariner10.0001.tsc + InstrumentPosition = (Table, + $mariner10/kernels/spk/MARINER_10_A_gem.bsp) + InstrumentAddendum = $mariner10/kernels/iak/mariner10Addendum002.ti + ShapeModel = Null + InstrumentPositionQuality = Reconstructed + InstrumentPointingQuality = Reconstructed + CameraVersion = 1 + End_Group + + Group = Reseaus + Line = (24.0, 18.6, 12.6, 11.2, 12.0, 13.2, 14.8, 19.0, 22.0, 101.6, + 97.2, 93.4, 93.8, 95.4, 96.2, 98.0, 100.2, 102.0, 222.6, 221.4, + 220.4, 221.0, 222.6, 224.6, 226.0, 227.0, 228.2, 347.0, 346.8, + 346.8, 348.2, 349.6, 351.2, 353.0, 353.6, 353.6, 472.2, 472.8, + 473.8, 475.0, 476.0, 478.2, 479.2, 479.0, 479.4, 598.4, 599.2, + 601.6, 602.8, 604.0, 605.2, 606.2, 605.4, 604.4, 678.4, 681.0, + 684.8, 687.2, 688.0, 689.2, 689.0, 686.4, 683.8, 61.0, 54.0, + 50.6, 50.6, 52.4, 53.6, 55.8, 60.0, 159.2, 155.6, 155.4, 156.8, + 158.2, 159.4, 161.0, 162.8, 283.8, 282.6, 283.2, 284.4, 287.0, + 287.8, 289.0, 292.0, 410.8, 410.6, 411.4, 412.8, 414.4, 416.2, + 417.6, 418.0, 536.6, 538.6, 539.8, 541.0, 542.2, 544.0, 544.2, + 543.0, 639.8, 643.8, 645.8, 647.0, 648.2, 649.2, 649.0, 642.6) + Sample = (26.4, 69.2, 182.6, 301.0, 420.4, 539.2, 657.2, 770.4, 815.0, + 19.0, 65.8, 180.8, 300.2, 419.6, 539.0, 657.6, 772.8, 819.0, + 15.0, 61.8, 178.8, 298.0, 418.4, 538.0, 656.8, 774.0, 821.2, + 12.0, 59.8, 176.8, 296.6, 416.0, 535.6, 655.0, 772.8, 821.0, + 12.0, 58.8, 175.2, 294.2, 413.8, 532.8, 653.2, 771.0, 819.4, + 14.4, 59.4, 173.8, 292.2, 411.8, 531.8, 651.2, 768.8, 816.0, + 20.2, 62.0, 174.2, 291.6, 410.8, 530.0, 649.6, 767.0, 814.2, + 23.4, 123.0, 240.6, 360.4, 479.6, 598.8, 715.8, 817.2, 17.2, + 121.4, 239.2, 359.4, 479.0, 597.8, 716.2, 820.6, 13.4, 118.6, + 237.6, 357.2, 477.4, 596.4, 715.0, 820.2, 11.6, 116.8, 235.8, + 355.0, 475.4, 594.6, 713.6, 820.6, 13.0, 115.8, 233.4, 352.4, + 472.8, 592.4, 712.0, 818.8, 16.8, 116.2, 232.6, 351.8, 471.2, + 591.6, 709.8, 816.8) + Type = (4, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, + 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, + 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 5, 6, + 4, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, + 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 6, 4, 5, 5, 5, 5, 5, 5, 6, 4, 5, + 5, 5, 5, 5, 5, 6) + Valid = (1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 0, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 0, + 1, 1, 1, 1, 0, 1) + Template = $mariner10/reseaus/mar10a.template.cub + Status = Refined + End_Group +End_Object + +Object = Label + Bytes = 65536 +End_Object + +Object = Table + Name = InstrumentPointing + StartByte = 770724 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (-76000, 1) + CkTableStartTime = -812916168.41835 + CkTableEndTime = -812916168.41835 + CkTableOriginalSize = 1 + Description = "Created by spiceinit" + Kernels = ($mariner10/kernels/ck/MARINER_10_A_gem.bc, + $mariner10/kernels/fk/mariner10.0001.tf) + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = InstrumentPosition + StartByte = 770788 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -812916168.41835 + SpkTableEndTime = -812916168.41835 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = $mariner10/kernels/spk/MARINER_10_A_gem.bsp + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = BodyRotation + StartByte = 770844 + Bytes = 64 + Records = 1 + ByteOrder = Lsb + TimeDependentFrames = (10011, 1) + CkTableStartTime = -812916168.41835 + CkTableEndTime = -812916168.41835 + CkTableOriginalSize = 1 + Description = "Created by spiceinit" + Kernels = ($base/kernels/spk/de405.bsp, + $base/kernels/pck/pck00009.tpc) + SolarLongitude = 153.10811993588 + + Group = Field + Name = J2000Q0 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Q3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV1 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV2 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = AV3 + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = Table + Name = SunPosition + StartByte = 770908 + Bytes = 56 + Records = 1 + ByteOrder = Lsb + CacheType = Linear + SpkTableStartTime = -812916168.41835 + SpkTableEndTime = -812916168.41835 + SpkTableOriginalSize = 1.0 + Description = "Created by spiceinit" + Kernels = $base/kernels/spk/de405.bsp + + Group = Field + Name = J2000X + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Y + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000Z + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000XV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000YV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = J2000ZV + Type = Double + Size = 1 + End_Group + + Group = Field + Name = ET + Type = Double + Size = 1 + End_Group +End_Object + +Object = History + Name = IsisCube + StartByte = 770964 + Bytes = 1832 +End_Object + +Object = OriginalLabel + Name = IsisCube + StartByte = 754145 + Bytes = 15431 +End_Object + +Object = NaifKeywords + BODY199_RADII = (2439.7, 2439.7, 2439.7) + INS-76110_FOCAL_LENGTH = 1493.6 + INS-76110_PIXEL_PITCH = 0.013333333 + INS-76110_TRANSX = (0.0, 0.013333333, 0.0) + INS-76110_TRANSY = (0.0, 0.0, 0.013333333) + INS-76110_ITRANSS = (0.0, 75.0, 0.0) + INS-76110_ITRANSL = (0.0, 0.0, 75.0) + INS-76110_BORESIGHT_SAMPLE = 475.0 + INS-76110_BORESIGHT_LINE = 400.0 +End_Object +End diff --git a/tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.cmt b/tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.cmt new file mode 100644 index 000000000..3371bd637 --- /dev/null +++ b/tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.cmt @@ -0,0 +1,4 @@ +This CK is for testing with the image: /testdata/mariner10-driver/27265.isis.cub + +This CK was generated using the following command: {} +ckslicer -LSK /isis_data/base/kernels/lsk/naif0012.tls -SCLK /isis_data/mariner10/kernels/sclk/mariner10.0001.tsc -INPUTCK /isis_data/mariner10/kernels/ck/MARINER_10_A_gem.bc -OUTPUTCK /testdata/mariner10-driver/generated-kernels/MARINER_10_A_gem_0_sliced_-76000.bc -ID -76000 -TIMETYPE SCLK -START 1/012678626:623 -STOP 1/012679121:800 \ No newline at end of file diff --git a/tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.xc b/tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.xc new file mode 100644 index 000000000..730ec5c03 --- /dev/null +++ b/tests/pytests/data/27265/MARINER_10_A_gem_0_sliced_-76000.xc @@ -0,0 +1,81 @@ +DAFETF NAIF DAF ENCODED TRANSFER FILE +'DAF/CK ' +'2' +'6' +' ' +BEGIN_ARRAY 1 60 +'MERCURY Mariner 10 Type 1 Segment ' +'2F3B47D3F^9' +'2F3BC0B88^9' +'-128E0' +'1' +'2' +'1' +60 +'6A5828C1CBEB9C^0' +'-85515878EE5AD^0' +'-49C011373DCB48^0' +'-B01BBC800CC688^0' +'0^0' +'0^0' +'0^0' +'1^1' +'6A53AA2A6BD248^0' +'-854BFC7F39CAB8^0' +'-49C228A608187^0' +'-B021A16E46EB68^0' +'0^0' +'0^0' +'0^0' +'1^1' +'6A4EFE4035D2B^0' +'-85475BCBDBF4B^0' +'-49C3E05847ADF8^0' +'-B0273B9D09D93^0' +'0^0' +'0^0' +'0^0' +'1^1' +'6A49ED4C2083FC^0' +'-854290DE366F88^0' +'-49C5E40D93FDC4^0' +'-B02D126CFA8818^0' +'0^0' +'0^0' +'0^0' +'1^1' +'6A456DCAD13C98^0' +'-853D8924004268^0' +'-49C76254B5AD2C^0' +'-B032F6DE7E1488^0' +'0^0' +'0^0' +'0^0' +'1^1' +'6A405C38F9575C^0' +'-8538BE20E99C2^0' +'-49C96597AAB68C^0' +'-B038CD551426C^0' +'0^0' +'0^0' +'0^0' +'1^1' +'2F3B4E7B3A6AFE^9' +'2F3B62FD2A6B4A^9' +'2F3B777F2A6B4A^9' +'2F3B8C011A6B1A^9' +'2F3BA0831A6B1A^9' +'2F3BB5050A6AE8^9' +'2F3B4EB9BA6AFE^9' +'2F3B633BAA6B4A^9' +'2F3B77BDAA6B4A^9' +'2F3B8C3F9A6B1A^9' +'2F3BA0C19A6B1A^9' +'2F3BB5438A6AE8^9' +END_ARRAY 1 60 +TOTAL_ARRAYS 1 + ~NAIF/SPC BEGIN COMMENTS~ +This CK is for testing with the image: /testdata/mariner10-driver/27265.isis.cub + +This CK was generated using the following command: {} + ~NAIF/SPC END COMMENTS~ diff --git a/tests/pytests/data/27265/m10_v00.tf b/tests/pytests/data/27265/m10_v00.tf new file mode 100755 index 000000000..407db9705 --- /dev/null +++ b/tests/pytests/data/27265/m10_v00.tf @@ -0,0 +1,183 @@ +KPL/FK + +MARINER 10 NAIF Name/ID Definitions Kernel +=============================================================================== + + This text kernel contains name-to-NAIF ID mappings for MARINER 10 + (M10) mission. + + +Version and Date +-------------------------------------------------------- + + Version 1.0 -- June 4, 2008 -- Boris Semenov, NAIF + + +References +-------------------------------------------------------- + + 1. ``SP-424 The Voyage of Mariner 10'', + http://history.nasa.gov/SP-424/sp424.htm + + +M10 NAIF Name-ID Mappings +-------------------------------------------------------- + + This section contains name to NAIF ID mappings for the M10 mission. + Once the contents of this file is loaded into the KERNEL POOL, these + mappings become available within SPICE, making it possible to use + names instead of ID code in the high level SPICE routine calls. + + The tables below summarize the mappings; the actual definitions are + provided after the last summary table. + + Spacecraft and Spacecraft Bus + ----------------------------- + + MARINER-10 -76 + MARINER 10 -76 + MARINER10 -76 + M10 -76 + + M10_SC_BUS -76000 + M10_SPACECRAFT -76000 + + Instruments and Sensors Mounted on Spacecraft Bus + ------------------------------------------------- + + M10_IR -76010 + + M10_PLASMA_SEA -76021 + M10_PLASMA_SES -76022 + + M10_CPT_MAIN -76041 + M10_CPT_LOW_ENERGY -76042 + + M10_EUV_OCCULTATION -76051 + + M10_SUN_SENSOR -76060 + + M10_STAR_TRACKER -76070 + + Scan Platform + ------------- + + M10_SCAN_PLATFORM -76100 + + Instruments Mounted on Scan Platform + ------------------------------------ + + M10_VIDICON_A -76110 + M10_VIDICON_B -76120 + + M10_EUV_AIRGLOW -76152 + + Magnetometer Boom and Sensors + ----------------------------- + + M10_MAG_BOOM -76200 + + M10_MAG_INBOARD -76211 + M10_MAG_OUTBOARD -76212 + + Solar Arrays + ------------ + + M10_SA+X -76310 + M10_SA-X -76320 + + High Gain Antenna + ----------------- + + M10_HGA -76400 + + Low Gain Antenna + ---------------- + + M10_LGA -76500 + + + The keywords below implement M10 name-ID mappings summarized above. + + \begindata + + NAIF_BODY_NAME += ( 'MARINER-10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'MARINER 10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'MARINER10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'M-10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'M10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'M10_SC_BUS' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_SPACECRAFT' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_IR' ) + NAIF_BODY_CODE += ( -76010 ) + + NAIF_BODY_NAME += ( 'M10_PLASMA_SEA' ) + NAIF_BODY_CODE += ( -76021 ) + + NAIF_BODY_NAME += ( 'M10_PLASMA_SES' ) + NAIF_BODY_CODE += ( -76022 ) + + NAIF_BODY_NAME += ( 'M10_CPT_MAIN' ) + NAIF_BODY_CODE += ( -76041 ) + + NAIF_BODY_NAME += ( 'M10_CPT_LOW_ENERGY' ) + NAIF_BODY_CODE += ( -76042 ) + + NAIF_BODY_NAME += ( 'M10_EUV_OCCULTATION' ) + NAIF_BODY_CODE += ( -76051 ) + + NAIF_BODY_NAME += ( 'M10_SUN_SENSOR' ) + NAIF_BODY_CODE += ( -76060 ) + + NAIF_BODY_NAME += ( 'M10_STAR_TRACKER' ) + NAIF_BODY_CODE += ( -76070 ) + + NAIF_BODY_NAME += ( 'M10_SCAN_PLATFORM' ) + NAIF_BODY_CODE += ( -76100 ) + + NAIF_BODY_NAME += ( 'M10_VIDICON_A' ) + NAIF_BODY_CODE += ( -76110 ) + + NAIF_BODY_NAME += ( 'M10_VIDICON_B' ) + NAIF_BODY_CODE += ( -76120 ) + + NAIF_BODY_NAME += ( 'M10_EUV_AIRGLOW' ) + NAIF_BODY_CODE += ( -76152 ) + + NAIF_BODY_NAME += ( 'M10_MAG_BOOM' ) + NAIF_BODY_CODE += ( -76200 ) + + NAIF_BODY_NAME += ( 'M10_MAG_INBOARD' ) + NAIF_BODY_CODE += ( -76211 ) + + NAIF_BODY_NAME += ( 'M10_MAG_OUTBOARD' ) + NAIF_BODY_CODE += ( -76212 ) + + NAIF_BODY_NAME += ( 'M10_SA+X' ) + NAIF_BODY_CODE += ( -76310 ) + + NAIF_BODY_NAME += ( 'M10_SA-X' ) + NAIF_BODY_CODE += ( -76320 ) + + NAIF_BODY_NAME += ( 'M10_HGA' ) + NAIF_BODY_CODE += ( -76400 ) + + NAIF_BODY_NAME += ( 'M10_LGA' ) + NAIF_BODY_CODE += ( -76500 ) + + \begintext + diff --git a/tests/pytests/data/27265/mariner10.0001.tf b/tests/pytests/data/27265/mariner10.0001.tf new file mode 100755 index 000000000..2cdd217fe --- /dev/null +++ b/tests/pytests/data/27265/mariner10.0001.tf @@ -0,0 +1,241 @@ +KPL/FK + +MARINER 10 NAIF Name/ID Definitions Kernel +=============================================================================== + + This text kernel contains name-to-NAIF ID mappings for MARINER 10 + (M10) mission. + + +Version and Date +-------------------------------------------------------- + + Version 1.0 -- June 4, 2008 -- Boris Semenov, NAIF + + +References +-------------------------------------------------------- + + 1. ``SP-424 The Voyage of Mariner 10'', + http://history.nasa.gov/SP-424/sp424.htm + + +M10 NAIF Name-ID Mappings +-------------------------------------------------------- + + This section contains name to NAIF ID mappings for the M10 mission. + Once the contents of this file is loaded into the KERNEL POOL, these + mappings become available within SPICE, making it possible to use + names instead of ID code in the high level SPICE routine calls. + + The tables below summarize the mappings; the actual definitions are + provided after the last summary table. + + Spacecraft and Spacecraft Bus + ----------------------------- + + MARINER-10 -76 + MARINER 10 -76 + MARINER_10 -76 + MARINER10 -76 + M10 -76 + + M10_SC_BUS -76000 + M10_SPACECRAFT_BUS -76000 + M10_SPACECRAFT -76000 + + M10_INSTRUMENT_PLATFORM -76000 + M10_PLATFORM -76000 + + Instruments and Sensors Mounted on Spacecraft Bus + ------------------------------------------------- + + M10_IR -76010 + + M10_PLASMA_SEA -76021 + M10_PLASMA_SES -76022 + + M10_CPT_MAIN -76041 + M10_CPT_LOW_ENERGY -76042 + + M10_EUV_OCCULTATION -76051 + + M10_SUN_SENSOR -76060 + + M10_STAR_TRACKER -76070 + + Scan Platform + ------------- + + M10_SCAN_PLATFORM -76100 + + Instruments Mounted on Scan Platform + ------------------------------------ + + M10_VIDICON_A -76110 + A -76110 + M10_VIDICON_B -76120 + B -76120 + + M10_EUV_AIRGLOW -76152 + + Magnetometer Boom and Sensors + ----------------------------- + + M10_MAG_BOOM -76200 + M10_MAG_INBOARD -76211 + M10_MAG_OUTBOARD -76212 + + Solar Arrays + ------------ + + M10_SA+X -76310 + M10_SA-X -76320 + + High Gain Antenna + ----------------- + + M10_HGA -76400 + + Low Gain Antenna + ---------------- + + M10_LGA -76500 + + + Spacecraft Bus Frame + ------------------------------------------------------------------------------- + + \begindata + + FRAME_M10_SPACECRAFT = -76000 + FRAME_-76000_NAME = 'M10_SPACECRAFT' + FRAME_-76000_CLASS = 3 + FRAME_-76000_CLASS_ID = -76000 + FRAME_-76000_CENTER = -76 + CK_-76000_SCLK = -76 + CK_-76000_SPK = -76 + + \begintext + + Metric Frames + ------------------------------------------------------------------------------- + + \begindata + + FRAME_VIDICON_A = -76110 + FRAME_-76110_NAME = 'VIDICON_A' + FRAME_-76110_CLASS = 3 + FRAME_-76110_CLASS_ID = -76110 + FRAME_-76110_CENTER = -76 + CK_-76110_SCLK = -76 + CK_-76110_SPK = -76 + + FRAME_VIDICON_B = -76120 + FRAME_-76120_NAME = 'VIDICON_B' + FRAME_-76120_CLASS = 3 + FRAME_-76120_CLASS_ID = -76120 + FRAME_-76120_CENTER = -76 + CK_-76120_SCLK = -76 + CK_-76120_SPK = -76 + + \begintext + + The keywords below implement M10 name-ID mappings summarized above. + + \begindata + + NAIF_BODY_NAME += ( 'MARINER-10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'MARINER 10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'MARINER10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'M-10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'M10' ) + NAIF_BODY_CODE += ( -76 ) + + NAIF_BODY_NAME += ( 'M10_SC_BUS' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_SPACECRAFT' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_INSTRUMENT_PLATFORM' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_PLATFORM' ) + NAIF_BODY_CODE += ( -76000 ) + + NAIF_BODY_NAME += ( 'M10_IR' ) + NAIF_BODY_CODE += ( -76010 ) + + NAIF_BODY_NAME += ( 'M10_PLASMA_SEA' ) + NAIF_BODY_CODE += ( -76021 ) + + NAIF_BODY_NAME += ( 'M10_PLASMA_SES' ) + NAIF_BODY_CODE += ( -76022 ) + + NAIF_BODY_NAME += ( 'M10_CPT_MAIN' ) + NAIF_BODY_CODE += ( -76041 ) + + NAIF_BODY_NAME += ( 'M10_CPT_LOW_ENERGY' ) + NAIF_BODY_CODE += ( -76042 ) + + NAIF_BODY_NAME += ( 'M10_EUV_OCCULTATION' ) + NAIF_BODY_CODE += ( -76051 ) + + NAIF_BODY_NAME += ( 'M10_SUN_SENSOR' ) + NAIF_BODY_CODE += ( -76060 ) + + NAIF_BODY_NAME += ( 'M10_STAR_TRACKER' ) + NAIF_BODY_CODE += ( -76070 ) + + NAIF_BODY_NAME += ( 'M10_SCAN_PLATFORM' ) + NAIF_BODY_CODE += ( -76100 ) + + NAIF_BODY_NAME += ( 'M10_VIDICON_A' ) + NAIF_BODY_CODE += ( -76110 ) + + NAIF_BODY_NAME += ( 'A' ) + NAIF_BODY_CODE += ( -76110 ) + + NAIF_BODY_NAME += ( 'M10_VIDICON_B' ) + NAIF_BODY_CODE += ( -76120 ) + + NAIF_BODY_NAME += ( 'B' ) + NAIF_BODY_CODE += ( -76120 ) + + NAIF_BODY_NAME += ( 'M10_EUV_AIRGLOW' ) + NAIF_BODY_CODE += ( -76152 ) + + NAIF_BODY_NAME += ( 'M10_MAG_BOOM' ) + NAIF_BODY_CODE += ( -76200 ) + + NAIF_BODY_NAME += ( 'M10_MAG_INBOARD' ) + NAIF_BODY_CODE += ( -76211 ) + + NAIF_BODY_NAME += ( 'M10_MAG_OUTBOARD' ) + NAIF_BODY_CODE += ( -76212 ) + + NAIF_BODY_NAME += ( 'M10_SA+X' ) + NAIF_BODY_CODE += ( -76310 ) + + NAIF_BODY_NAME += ( 'M10_SA-X' ) + NAIF_BODY_CODE += ( -76320 ) + + NAIF_BODY_NAME += ( 'M10_HGA' ) + NAIF_BODY_CODE += ( -76400 ) + + NAIF_BODY_NAME += ( 'M10_LGA' ) + NAIF_BODY_CODE += ( -76500 ) + + \begintext diff --git a/tests/pytests/data/27265/mariner10.0001.tsc b/tests/pytests/data/27265/mariner10.0001.tsc new file mode 100755 index 000000000..621a797ba --- /dev/null +++ b/tests/pytests/data/27265/mariner10.0001.tsc @@ -0,0 +1,101 @@ +KPL/SCLK + +Fictitious SPICE SCLK Kernel for 'Mariner 10' +=========================================================================== + + This file contains the data necessary for converting time + between ET and ticks of the fictitious on-board clock for + the 'Mariner 10' spacecraft (NAIF ID code -76.) + + This fictional clock begins at 1966-JAN-01-00:00:41.182 ET and + continues for 2147483647 seconds. The clock has granularity + of 0.001000-th fraction of a second. + + +Production History of this SCLK file +-------------------------------------------------------- + + This file was generated by the NAIF utility program FAKESCLK, + version 1.0, on 2002-05-12-11:56:21. + + 2010-02-05 Tracie Sucharski, USGS,Flagstaff, Created from the Lunar Orbiter 1 + sclk file. + +Implementation notes +-------------------------------------------------------- + + This SCLK file is constructed so that the valid SCLK strings are + simply the number of TDB seconds that have passed since the + ephemeris epoch 1973-NOV-03-00:00:41.182. + + Thus, 1/288929:820 represents the epoch that occurs 288929 whole + and 820 0.001000-th of TDB second past 1973-NOV-03-00:00:41.182 ET. + + For all time, the clock runs at the same rate as TDB. 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 FURNSH ( "name of this file" ) (FORTRAN) + furnsh_c ( "name of this file" ); (C) + + performs this task. To convert between ET and UTC, you will also + need to load a leapseconds kernel. The additional call to FURNSH, + + CALL FURNSH ( "name of your leapseconds file" ) (FORTRAN) + furnsh_c ( "name of your leapseconds file" ); (C) + + will accomplish this. Note that you must supply the actual names + of the files used on your system as arguments to FURNSH. + + +References +-------------------------------------------------------- + + 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 +-------------------------------------------------------- + + This section contains the SCLK data. + + \begindata + + SCLK_KERNEL_ID = ( @2010-02-06-16:15:00 ) + + SCLK_DATA_TYPE_76 = ( 1 ) + + SCLK01_TIME_SYSTEM_76 = ( 1 ) + SCLK01_N_FIELDS_76 = ( 2 ) + SCLK01_MODULI_76 = ( 1000000000 1000 ) + SCLK01_OFFSETS_76 = ( 0 0 ) + SCLK01_OUTPUT_DELIM_76 = ( 2 ) + + SCLK_PARTITION_START_76 = ( 0.0000000000000E+00 ) + SCLK_PARTITION_END_76 = ( 1.0000000000000E+14 ) + SCLK01_COEFFICIENTS_76 = ( 0.0000000000000E+00 + @1973-NOV-03-00:00:41.182 + 1.0000000000000E+00 ) + + \begintext + + +NAIF ID to Name Mapping for 'Mariner 10' +-------------------------------------------------------- + + This section contains the NAIF ID to name mapping. + + \begindata + + NAIF_BODY_NAME += ( 'Mariner_10' ) + NAIF_BODY_CODE += ( -76 ) + + \begintext + diff --git a/tests/pytests/data/27265/mariner10Addendum001.ti b/tests/pytests/data/27265/mariner10Addendum001.ti new file mode 100755 index 000000000..c73ef8aa9 --- /dev/null +++ b/tests/pytests/data/27265/mariner10Addendum001.ti @@ -0,0 +1,36 @@ +\begindata +INS-76110_PLATFORM_ID = -76 + +INS-76110_SPK_TIME_BIAS = 0.0 +INS-76110_CK_TIME_BIAS = 0.0 +INS-76110_CK_TIME_TOLERANCE = 1 + +INS-76110_FOCAL_LENGTH = 1493.6 +INS-76110_PIXEL_PITCH = 0.013333333 + +INS-76110_BORESIGHT_SAMPLE = 475.0 +INS-76110_BORESIGHT_LINE = 400.0 + +INS-76110_TRANSX=(0.0 0.013333333 0.0) +INS-76110_TRANSY=(0.0 0.0 0.013333333) +INS-76110_ITRANSS=(0.0 75.0 0.0) +INS-76110_ITRANSL=(0.0 0.0 75.0) + + + +INS-76120_PLATFORM_ID = -76 + +INS-76120_SPK_TIME_BIAS = 0.0 +INS-76120_CK_TIME_BIAS = 0.0 +INS-76120_CK_TIME_TOLERANCE = 1 + +INS-76120_FOCAL_LENGTH = 1500.1 +INS-76120_PIXEL_PITCH = 0.013333333 + +INS-76120_BORESIGHT_SAMPLE = 475.0 +INS-76120_BORESIGHT_LINE = 400.0 + +INS-76120_TRANSX=(0.0 0.013333333 0.0) +INS-76120_TRANSY=(0.0 0.0 0.013333333) +INS-76120_ITRANSS=(0.0 75.0 0.0) +INS-76120_ITRANSL=(0.0 0.0 75.0) diff --git a/tests/pytests/data/27265/mariner10Addendum002.ti b/tests/pytests/data/27265/mariner10Addendum002.ti new file mode 100755 index 000000000..b453a05c3 --- /dev/null +++ b/tests/pytests/data/27265/mariner10Addendum002.ti @@ -0,0 +1,56 @@ +\begindata +INS-76110_PLATFORM_ID = -76 + +INS-76110_SPK_TIME_BIAS = 0.0 +INS-76110_CK_TIME_BIAS = 0.0 +INS-76110_CK_TIME_TOLERANCE = 1 + +INS-76110_FOCAL_LENGTH = 1493.6 +INS-76110_PIXEL_PITCH = 0.013333333 + +INS-76110_BORESIGHT_SAMPLE = 475.0 +INS-76110_BORESIGHT_LINE = 400.0 + +INS-76110_TRANSX=(0.0 0.013333333 0.0) +INS-76110_TRANSY=(0.0 0.0 0.013333333) +INS-76110_ITRANSS=(0.0 75.0 0.0) +INS-76110_ITRANSL=(0.0 0.0 75.0) + +\begintext +These are the parameters required for writing c-kernels. Isis will +create ck with the same frame endpoints as the mission ck. For +the Mariner 10 spacecraft the ck frame is M10_SPACECRAFT (-76000), and the +ck reference frame is J2000 (1). + +\begindata +INS-76110_CK_FRAME_ID=-76000 +INS-76110_CK_REFERENCE_ID=1 + + + +INS-76120_PLATFORM_ID = -76 + +INS-76120_SPK_TIME_BIAS = 0.0 +INS-76120_CK_TIME_BIAS = 0.0 +INS-76120_CK_TIME_TOLERANCE = 1 + +INS-76120_FOCAL_LENGTH = 1500.1 +INS-76120_PIXEL_PITCH = 0.013333333 + +INS-76120_BORESIGHT_SAMPLE = 475.0 +INS-76120_BORESIGHT_LINE = 400.0 + +INS-76120_TRANSX=(0.0 0.013333333 0.0) +INS-76120_TRANSY=(0.0 0.0 0.013333333) +INS-76120_ITRANSS=(0.0 75.0 0.0) +INS-76120_ITRANSL=(0.0 0.0 75.0) + +\begintext +These are the parameters required for writing c-kernels. Isis will +create ck with the same frame endpoints as the mission ck. For +the Mariner 10 spacecraft the ck frame is M10_SPACECRAFT (-76000), and the +ck reference frame is J2000 (1). + +\begindata +INS-76120_CK_FRAME_ID=-76000 +INS-76120_CK_REFERENCE_ID=1 diff --git a/tests/pytests/data/27265/naif0012.tls b/tests/pytests/data/27265/naif0012.tls new file mode 100755 index 000000000..e1afdee1b --- /dev/null +++ b/tests/pytests/data/27265/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/27265/pck00009.tpc b/tests/pytests/data/27265/pck00009.tpc new file mode 100644 index 000000000..bfadaab2b --- /dev/null +++ b/tests/pytests/data/27265/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." . 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." . + + [9] International Association of Geomagnetism and Aeronomy + and International Union of Geodesy and Geophysics (2004). + Web page: "The 9th Generation International Geomagnetic + Reference Field." . + + [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/isds/mariner10_isd.json b/tests/pytests/data/isds/mariner10_isd.json new file mode 100644 index 000000000..ee8be6b10 --- /dev/null +++ b/tests/pytests/data/isds/mariner10_isd.json @@ -0,0 +1,226 @@ +{ + "isis_camera_version": 1, + "image_lines": 700, + "image_samples": 832, + "name_platform": "Mariner_10", + "name_sensor": "M10_VIDICON_A", + "reference_height": { + "maxheight": 1000, + "minheight": -1000, + "unit": "m" + }, + "name_model": "USGS_ASTRO_FRAME_SENSOR_MODEL", + "center_ephemeris_time": -812916168.4183488, + "radii": { + "semimajor": 2439.7, + "semiminor": 2439.7, + "unit": "km" + }, + "body_rotation": { + "time_dependent_frames": [ + 10011, + 1 + ], + "ck_table_start_time": -812916168.4183488, + "ck_table_end_time": -812916168.4183488, + "ck_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "quaternions": [ + [ + -0.041589464253201175, + -0.036695469453297484, + 0.24381936260450102, + -0.9682333796166442 + ] + ], + "angular_velocities": [ + [ + 1.1326300442450132e-07, + -5.816846505242454e-07, + 1.0892405863919202e-06 + ] + ], + "reference_frame": 1 + }, + "instrument_pointing": { + "time_dependent_frames": [ + -76000, + 1 + ], + "ck_table_start_time": -812916168.4183488, + "ck_table_end_time": -812916168.4183488, + "ck_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "quaternions": [ + [ + -0.4151219005736828, + 0.5204702103512857, + 0.2881986100016333, + 0.6882776539988121 + ] + ], + "angular_velocities": [ + [ + -0.0, + -0.0, + -0.0 + ] + ], + "reference_frame": 1, + "constant_frames": [ + -76000 + ], + "constant_rotation": [ + 1.0, + 0.0, + 0.0, + 0.0, + 1.0, + 0.0, + 0.0, + 0.0, + 1.0 + ] + }, + "naif_keywords": { + "BODY199_RADII": [ + 2439.7, + 2439.7, + 2439.7 + ], + "BODY_FRAME_CODE": 10011, + "BODY_CODE": 199, + "INS-76110_FOCAL_LENGTH": 1493.6, + "INS-76110_BORESIGHT_LINE": 400.0, + "INS-76110_CK_FRAME_ID": -76000.0, + "INS-76110_ITRANSL": [ + 0.0, + 0.0, + 75.0 + ], + "INS-76110_ITRANSS": [ + 0.0, + 75.0, + 0.0 + ], + "INS-76110_CK_REFERENCE_ID": 1.0, + "FRAME_-76110_CLASS": 3.0, + "INS-76110_CK_TIME_TOLERANCE": 1.0, + "CK_-76110_SPK": -76.0, + "INS-76110_PLATFORM_ID": -76.0, + "FRAME_-76110_CENTER": -76.0, + "FRAME_-76110_NAME": "VIDICON_A", + "FRAME_-76110_CLASS_ID": -76110.0, + "INS-76110_CK_TIME_BIAS": 0.0, + "INS-76110_BORESIGHT_SAMPLE": 475.0, + "CK_-76110_SCLK": -76.0, + "INS-76110_PIXEL_PITCH": 0.013333333, + "INS-76110_SPK_TIME_BIAS": 0.0, + "INS-76110_TRANSX": [ + 0.0, + 0.013333333, + 0.0 + ], + "INS-76110_TRANSY": [ + 0.0, + 0.0, + 0.013333333 + ], + "BODY199_PM": [ + 329.548, + 6.1385025, + 0.0 + ], + "BODY199_POLE_RA": [ + 281.01, + -0.033, + 0.0 + ], + "BODY199_LONG_AXIS": 0.0, + "BODY199_POLE_DEC": [ + 61.45, + -0.005, + 0.0 + ] + }, + "detector_sample_summing": 1, + "detector_line_summing": 1, + "focal_length_model": { + "focal_length": 1493.6 + }, + "detector_center": { + "line": 400.0, + "sample": 475.0 + }, + "focal2pixel_lines": [ + 0.0, + 0.0, + 75.0 + ], + "focal2pixel_samples": [ + 0.0, + 75.0, + 0.0 + ], + "optical_distortion": { + "radial": { + "coefficients": [ + 0.0, + 0.0, + 0.0 + ] + } + }, + "starting_detector_line": 0, + "starting_detector_sample": 0, + "instrument_position": { + "spk_table_start_time": -812916168.4183488, + "spk_table_end_time": -812916168.4183488, + "spk_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "positions": [ + [ + -102988.65244940185, + 3813.6761044064274, + -31476.7258130999 + ] + ], + "velocities": [ + [ + 10.073083917183162, + -0.6608509235485678, + 2.9052260072869664 + ] + ], + "reference_frame": 1 + }, + "sun_position": { + "spk_table_start_time": -812916168.4183488, + "spk_table_end_time": -812916168.4183488, + "spk_table_original_size": 1, + "ephemeris_times": [ + -812916168.4183488 + ], + "positions": [ + [ + 6487626.304499695, + 61459556.251802824, + 32153267.064496163 + ] + ], + "velocities": [ + [ + -38.73233838516926, + 0.39826024551668027, + 4.232611805855759 + ] + ], + "reference_frame": 1 + } +} \ No newline at end of file diff --git a/tests/pytests/test_mariner_drivers.py b/tests/pytests/test_mariner_drivers.py new file mode 100644 index 000000000..fbb683199 --- /dev/null +++ b/tests/pytests/test_mariner_drivers.py @@ -0,0 +1,45 @@ +import pytest +import os +import unittest +import json + +from conftest import get_image_label, get_isd, get_image_kernels, convert_kernels, compare_dicts +import ale +from ale.drivers.mariner_drivers import Mariner10IsisLabelNaifSpiceDriver + +@pytest.fixture(scope='module') +def test_mariner10_kernels(): + kernels = get_image_kernels('27265') + updated_kernels, binary_kernels = convert_kernels(kernels) + yield updated_kernels + for kern in binary_kernels: + os.remove(kern) + + +def test_mariner10_load(test_mariner10_kernels): + label_file = get_image_label('27265', 'isis') + compare_dict = get_isd("mariner10") + + isd_str = ale.loads(label_file, props={'kernels': test_mariner10_kernels}) + isd_obj = json.loads(isd_str) + assert compare_dicts(isd_obj, compare_dict) == [] + +class test_mariner10_isis_naif(unittest.TestCase): + def setUp(self): + label = get_image_label("27265", "isis") + self.driver = Mariner10IsisLabelNaifSpiceDriver(label) + + def test_instrument_id(self): + assert self.driver.instrument_id == "M10_VIDICON_A" + + def test_sensor_model_version(self): + assert self.driver.sensor_model_version == 1 + + def test_sensor_name(self): + assert self.driver.sensor_name == "M10_VIDICON_A" + + def test_sensor_frame_id(self): + assert self.driver.sensor_frame_id == -76000 + + def test_ikid(self): + assert self.driver.ikid == -76110 From f4ac153d3c7ae7b36f504f701d78a92f1358bd2a Mon Sep 17 00:00:00 2001 From: Christine Kim Date: Fri, 16 Jun 2023 05:27:08 -0700 Subject: [PATCH 2/5] Update sensor_name and remove spacecraft_name --- ale/drivers/mariner_drivers.py | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/ale/drivers/mariner_drivers.py b/ale/drivers/mariner_drivers.py index eb2c089c9..28901d0e6 100644 --- a/ale/drivers/mariner_drivers.py +++ b/ale/drivers/mariner_drivers.py @@ -22,10 +22,6 @@ def instrument_id(self): "M10_VIDICON_B": "M10_VIDICON_B" } return inst_id_lookup[super().instrument_id] - - @property - def spacecraft_name(self): - return self.label['IsisCube']['Instrument']['SpacecraftName'] @property def sensor_model_version(self): @@ -49,7 +45,7 @@ def sensor_name(self): : str Name of the sensor """ - return self.instrument_id + return super().instrument_id @property def sensor_frame_id(self): From 50e24149f57ae7419a913c929f06e8e5fc162db7 Mon Sep 17 00:00:00 2001 From: Christine Kim Date: Fri, 16 Jun 2023 12:15:33 -0700 Subject: [PATCH 3/5] Update inst_id_lookup to return M10_spacecraft --- ale/drivers/mariner_drivers.py | 4 ++-- tests/pytests/test_mariner_drivers.py | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/ale/drivers/mariner_drivers.py b/ale/drivers/mariner_drivers.py index 28901d0e6..f2ea24722 100644 --- a/ale/drivers/mariner_drivers.py +++ b/ale/drivers/mariner_drivers.py @@ -18,8 +18,8 @@ def instrument_id(self): Name of the instrument """ inst_id_lookup = { - "M10_VIDICON_A": "M10_VIDICON_A", - "M10_VIDICON_B": "M10_VIDICON_B" + "M10_VIDICON_A": "M10_SPACECRAFT", + "M10_VIDICON_B": "M10_SPACECRAFT" } return inst_id_lookup[super().instrument_id] diff --git a/tests/pytests/test_mariner_drivers.py b/tests/pytests/test_mariner_drivers.py index fbb683199..951aac381 100644 --- a/tests/pytests/test_mariner_drivers.py +++ b/tests/pytests/test_mariner_drivers.py @@ -30,7 +30,7 @@ def setUp(self): self.driver = Mariner10IsisLabelNaifSpiceDriver(label) def test_instrument_id(self): - assert self.driver.instrument_id == "M10_VIDICON_A" + assert self.driver.instrument_id == "M10_SPACECRAFT" def test_sensor_model_version(self): assert self.driver.sensor_model_version == 1 From 6458609f5991847db904bfd7e128ce94b992f679 Mon Sep 17 00:00:00 2001 From: Christine Kim Date: Fri, 30 Jun 2023 15:27:20 -0700 Subject: [PATCH 4/5] Added light_time_correction property and updated isd --- ale/drivers/mariner_drivers.py | 15 +++++++++++++++ tests/pytests/data/isds/mariner10_isd.json | 12 ++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ale/drivers/mariner_drivers.py b/ale/drivers/mariner_drivers.py index f2ea24722..661a7ea9c 100644 --- a/ale/drivers/mariner_drivers.py +++ b/ale/drivers/mariner_drivers.py @@ -82,4 +82,19 @@ def ephemeris_start_time(self): start time """ return spice.str2et(self.utc_start_time.strftime("%Y-%m-%d %H:%M:%S.%f")) - (self.exposure_duration / 2.0) + + @property + def light_time_correction(self): + """ + Returns the type of light time correction and abberation correction to + use in NAIF calls. + + Returns + ------- + : str + The light time and abberation correction string for use in NAIF calls. + See https://naif.jpl.nasa.gov/pub/naif/toolkit_docs/C/req/abcorr.html + for the different options available. + """ + return 'NONE' \ No newline at end of file diff --git a/tests/pytests/data/isds/mariner10_isd.json b/tests/pytests/data/isds/mariner10_isd.json index ee8be6b10..80d7db0b4 100644 --- a/tests/pytests/data/isds/mariner10_isd.json +++ b/tests/pytests/data/isds/mariner10_isd.json @@ -186,16 +186,16 @@ ], "positions": [ [ - -102988.65244940185, - 3813.6761044064274, - -31476.7258130999 + -102972.7382271018, + 3812.9827825224156, + -31471.92445819328 ] ], "velocities": [ [ - 10.073083917183162, - -0.6608509235485678, - 2.9052260072869664 + 10.071486208448203, + -0.6607146245234612, + 2.9047780027319923 ] ], "reference_frame": 1 From 688b00a7d126ecfdbfa53421cfbdca41dfea29b2 Mon Sep 17 00:00:00 2001 From: Christine Kim <125395064+chkim-usgs@users.noreply.github.com> Date: Tue, 18 Jul 2023 07:31:33 -0700 Subject: [PATCH 5/5] Update CHANGELOG.md --- CHANGELOG.md | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 3bdc71be8..7a790b6ee 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -35,6 +35,9 @@ release. ## [Unreleased] +### Added +- Mariner10 IsisLabelNaifSpice driver, tests, and test data [#547](https://github.com/DOI-USGS/ale/pull/547) + ## [0.9.1] - 2023-06-05 ### Changed @@ -62,4 +65,4 @@ release. - MGS MOC WAC IsisLabelNaifSpice driver, tests, and test data [#516](https://github.com/DOI-USGS/ale/pull/516) - Chandrayaan1_mrffr IsisLabelNaifSpice driver, tests and test data [#519](https://github.com/DOI-USGS/ale/pull/519) - MGS MOC Narrow Angle IsisLabelNaifSpice driver, tests, and test data [#517](https://github.com/DOI-USGS/ale/pull/517) -- Hayabusa NIRS IsisLabelNaifSpice driver, tests and test data [#532](https://github.com/DOI-USGS/ale/pull/532) \ No newline at end of file +- Hayabusa NIRS IsisLabelNaifSpice driver, tests and test data [#532](https://github.com/DOI-USGS/ale/pull/532)