diff --git a/custom_theme/main.html b/custom_theme/main.html index 833c95063dda5a7fdd54b5be39ee55237d322375..b863d49a479d97240c1423dca174d30307d306f0 100644 --- a/custom_theme/main.html +++ b/custom_theme/main.html @@ -138,6 +138,15 @@ {{ super() }} {% endblock %} +{% block content %} +{% if page.nb_url %} + <a href="{{ page.nb_url }}" title="Download Notebook" class="md-content__button md-icon"> + {% include ".icons/material/download.svg" %} + </a> +{% endif %} + +{{ super() }} +{% endblock content %} {% block footer %} @@ -211,7 +220,6 @@ </footer> - {% endblock %} {% block styles %} diff --git a/docs/getting-started/CSM Stack/ImageToGroundTutorial.ipynb b/docs/getting-started/CSM Stack/ImageToGroundTutorial.ipynb new file mode 100644 index 0000000000000000000000000000000000000000..fc109376d48d69ef62a5970e6aa634271e7fcbbb --- /dev/null +++ b/docs/getting-started/CSM Stack/ImageToGroundTutorial.ipynb @@ -0,0 +1,207 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "a117baed-ab98-4499-832c-8c73a8606cc0", + "metadata": {}, + "source": [ + "# Getting Started: Instantiating a CSM Camera Model from Image" + ] + }, + { + "cell_type": "markdown", + "id": "3602c014-53bc-4330-a9b0-0848d4927458", + "metadata": {}, + "source": [ + "### 1. Install dependencies\n", + "The `knoten` installation may take a little longer than usual due to the many dependencies (including ALE) involved." + ] + }, + { + "cell_type": "markdown", + "id": "ffeccab3-0d5d-4609-9c7f-871bdb69f17a", + "metadata": {}, + "source": [ + "```\n", + "conda install -c conda-forge knoten=0.2.1\n", + "```" + ] + }, + { + "cell_type": "markdown", + "id": "faed4a43-cd06-45c7-bfa1-793978d41486", + "metadata": {}, + "source": [ + "### 2. Generate an ISD from a Cube\n", + "We will use MRO data located in the `data/image_to_ground` folder containing a cube and necessary kernels for ISD (Image Support Data) generation. \n", + "*Note*: If your cube already has attached spice data, do you not have to specify kernels in the `props` param and can pass in an empty dict `{}` instead." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "7f58cb34-d27f-456d-bfb5-f9075ca575b3", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/Users/chkim/mambaforge3/envs/test/lib/python3.12/site-packages/osgeo/gdal.py:287: FutureWarning: Neither gdal.UseExceptions() nor gdal.DontUseExceptions() has been explicitly called. In GDAL 4.0, exceptions will be enabled by default.\n", + " warnings.warn(\n" + ] + } + ], + "source": [ + "import ale\n", + "import json\n", + "import knoten\n", + "import os\n", + "\n", + "# Set local data directory and paths\n", + "data_dir = '../data/image_to_ground'\n", + "cube_file = os.path.join(data_dir, 'B10_013341_1010_XN_79S172W.cub')\n", + "isd_file = os.path.join(data_dir, 'isd_file.json')\n", + "\n", + "# Set local kernel paths\n", + "props = {\n", + " 'kernels': [\n", + " os.path.join(data_dir, 'B10_013341_1010_XN_79S172W_0.bsp'),\n", + " os.path.join(data_dir, 'B10_013341_1010_XN_79S172W_1.bsp'),\n", + " os.path.join(data_dir, 'mro_ctx_v11.ti'),\n", + " os.path.join(data_dir, 'mro_sc_psp_090526_090601_0_sliced_-74000.bc'),\n", + " os.path.join(data_dir, 'mro_sc_psp_090526_090601_1_sliced_-74000.bc'),\n", + " os.path.join(data_dir, 'mro_sclkscet_00082_65536.tsc'),\n", + " os.path.join(data_dir, 'mro_v16.tf'),\n", + " os.path.join(data_dir, 'naif0012.tls'),\n", + " os.path.join(data_dir, 'pck00008.tpc')\n", + " ]\n", + "}\n", + "\n", + "# Generate the ISD string from the cube's label\n", + "isd_str = ale.loads(\n", + " label=cube_file,\n", + " formatter=\"ale\",\n", + " props=props,\n", + " indent=2,\n", + " verbose=False,\n", + " only_isis_spice=False,\n", + " only_naif_spice=False\n", + ")\n", + "\n", + "# Write the ISD string to file 'isd_file.json'\n", + "with open(isd_file, \"w\") as file:\n", + " file.write(isd_str)" + ] + }, + { + "cell_type": "markdown", + "id": "4ed327aa-bffc-4316-b42f-496d9e07465e", + "metadata": {}, + "source": [ + "### 3. Create a Community Sensor Model\n", + "We will use Knoten's implementation of CSM as the library supports line scanner types of sensor models in the usgscsm library." + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "0c4dbf84-2986-495b-9e4a-da4c77059e7e", + "metadata": {}, + "outputs": [], + "source": [ + "sensor_model = knoten.csm.create_csm(isd_file, verbose=False)" + ] + }, + { + "cell_type": "markdown", + "id": "d6973fe3-9d4a-4408-9310-50334a52ff58", + "metadata": {}, + "source": [ + "### 4. Convert image coordinates into ground coordinates" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "d8f2b155-9803-4a6b-a967-bca1ef35860f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(-572485.2147483829, -79884.88742005036, -3326939.6184008163)" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Create an image coordinate at line = 206 and sample = 206\n", + "image_coord = knoten.csmapi.ImageCoord(206, 206)\n", + "\n", + "# Convert the image coordinates to ground coordinates with desired precision of 0.0\n", + "ground_coord = sensor_model.imageToGround(image_coord, 0.0)\n", + "\n", + "# Output the ground coordinates\n", + "ground_coord.x, ground_coord.y, ground_coord.z" + ] + }, + { + "cell_type": "markdown", + "id": "bf87c5a5-b26c-4168-9324-ce5b0004cc7c", + "metadata": {}, + "source": [ + "### 5. Convert ground coordinates into image coordinates" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "0edc0b6d-cdbe-46a8-9fdc-4ebdc4570f1a", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(205.99991086761267, 206.00000010379927)" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Convert the image coordinates to ground coordinates with desired precision of 0.0\n", + "image_coord = sensor_model.groundToImage(ground_coord, 0.0)\n", + "\n", + "# Output the image coordinates\n", + "image_coord.line, image_coord.samp" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.0" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W.cub b/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W.cub new file mode 100644 index 0000000000000000000000000000000000000000..e04d5d6ebbb9ab6c9f3c4eb9a4bdc84a28e88a99 Binary files /dev/null and b/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W.cub differ diff --git a/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W_0.bsp b/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W_0.bsp new file mode 100644 index 0000000000000000000000000000000000000000..e2193cbd59f8baf25a143c5e2383960543e4e4a9 Binary files /dev/null and b/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W_0.bsp differ diff --git a/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W_1.bsp b/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W_1.bsp new file mode 100644 index 0000000000000000000000000000000000000000..d325c7f51a9ccd24b69b9924f99dc2c7764edf85 Binary files /dev/null and b/docs/getting-started/data/image_to_ground/B10_013341_1010_XN_79S172W_1.bsp differ diff --git a/docs/getting-started/data/image_to_ground/isd_file.json b/docs/getting-started/data/image_to_ground/isd_file.json new file mode 100644 index 0000000000000000000000000000000000000000..6dc26b5ab2fea174950725d9a3c0eb9703930a1d --- /dev/null +++ b/docs/getting-started/data/image_to_ground/isd_file.json @@ -0,0 +1,381 @@ +{ + "isis_camera_version": 1, + "image_lines": 1, + "image_samples": 1, + "name_platform": "Mars_Reconnaissance_Orbiter", + "name_sensor": "CONTEXT CAMERA", + "reference_height": { + "maxheight": 1000, + "minheight": -1000, + "unit": "m" + }, + "name_model": "USGS_ASTRO_LINE_SCANNER_SENSOR_MODEL", + "interpolation_method": "lagrange", + "line_scan_rate": [ + [ + 0.5, + -0.0009385347366333008, + 0.001877 + ] + ], + "starting_ephemeris_time": 297088762.24158406, + "center_ephemeris_time": 297088762.2425226, + "radii": { + "semimajor": 3396.19, + "semiminor": 3376.2, + "unit": "km" + }, + "body_rotation": { + "time_dependent_frames": [ + 10014, + 1 + ], + "ck_table_start_time": 297088762.24158406, + "ck_table_end_time": 297088762.2434611, + "ck_table_original_size": 2, + "ephemeris_times": [ + 297088762.24158406, + 297088762.2434611 + ], + "quaternions": [ + [ + 0.8371209459443085, + -0.2996928944391797, + -0.10720760458181891, + -0.44488113064480633 + ], + [ + 0.8371209163489989, + -0.29969290157106665, + -0.10720758464502428, + -0.4448811863335056 + ] + ], + "angular_velocities": [ + [ + 3.16238646979841e-05, + -2.880432898124293e-05, + 5.652013165872617e-05 + ], + [ + 3.162386469798407e-05, + -2.8804328981243005e-05, + 5.6520131658726145e-05 + ] + ], + "reference_frame": 1 + }, + "instrument_pointing": { + "time_dependent_frames": [ + -74000, + -74900, + 1 + ], + "ck_table_start_time": 297088762.24158406, + "ck_table_end_time": 297088762.2434611, + "ck_table_original_size": 2, + "ephemeris_times": [ + 297088762.24158406, + 297088762.2434611 + ], + "quaternions": [ + [ + 0.42061124835443375, + 0.1860622266332136, + -0.23980124331599867, + 0.8549633847610767 + ], + [ + 0.42061139037319234, + 0.18606299339177235, + -0.23980084659599213, + 0.8549632592984735 + ] + ], + "angular_velocities": [ + [ + -0.0006409728984903078, + 0.0005054077299115119, + 0.00047182679484680703 + ], + [ + -0.000640980988402087, + 0.0005053310202622464, + 0.0004719397475515134 + ] + ], + "reference_frame": 1, + "constant_frames": [ + -74021, + -74020, + -74699, + -74690, + -74000 + ], + "constant_rotation": [ + 0.9999995608798441, + -1.5196024192803473e-05, + 0.0009370214510594065, + 1.5276552075356666e-05, + 0.9999999961910578, + -8.593317911879534e-05, + -0.0009370201416476771, + 8.594745584079715e-05, + 0.9999995573030465 + ] + }, + "naif_keywords": { + "BODY499_RADII": [ + 3396.19, + 3396.19, + 3376.2 + ], + "BODY_FRAME_CODE": 10014, + "BODY_CODE": 499, + "INS-74021_FOV_ANGLE_UNITS": "DEGREES", + "TKFRAME_-74021_UNITS": "DEGREES", + "INS-74021_FOV_ANGULAR_SIZE": [ + 5.73, + 0.001146 + ], + "INS-74021_PIXEL_LINES": 1.0, + "TKFRAME_-74021_ANGLES": [ + 0.0, + 0.0, + 0.0 + ], + "INS-74021_IFOV": [ + 2e-05, + 2e-05 + ], + "FRAME_-74021_CENTER": -74.0, + "INS-74021_F/RATIO": 3.25, + "INS-74021_PLATFORM_ID": -74000.0, + "INS-74021_CCD_CENTER": [ + 2500.5, + 0.5 + ], + "INS-74021_PIXEL_SAMPLES": 5000.0, + "INS-74021_FOCAL_LENGTH": 352.9271664, + "INS-74021_FOV_CROSS_ANGLE": 0.00057296, + "INS-74021_TRANSX": [ + 0.0, + 0.0, + 0.007 + ], + "INS-74021_FOV_CLASS_SPEC": "ANGLES", + "INS-74021_TRANSY": [ + 0.0, + 0.007, + 0.0 + ], + "INS-74021_FOV_REF_VECTOR": [ + 0.0, + 1.0, + 0.0 + ], + "INS-74021_BORESIGHT": [ + 0.0, + 0.0, + 1.0 + ], + "FRAME_-74021_NAME": "MRO_CTX", + "INS-74021_PIXEL_PITCH": 0.007, + "TKFRAME_-74021_AXES": [ + 1.0, + 2.0, + 3.0 + ], + "TKFRAME_-74021_SPEC": "ANGLES", + "INS-74021_BORESIGHT_LINE": 0.430442527, + "INS-74021_FOV_SHAPE": "RECTANGLE", + "INS-74021_BORESIGHT_SAMPLE": 2543.46099, + "FRAME_-74021_CLASS": 4.0, + "INS-74021_CK_FRAME_ID": -74000.0, + "INS-74021_ITRANSL": [ + 0.0, + 142.85714285714, + 0.0 + ], + "INS-74021_FOV_REF_ANGLE": 2.86478898, + "INS-74021_ITRANSS": [ + 0.0, + 0.0, + 142.85714285714 + ], + "FRAME_-74021_CLASS_ID": -74021.0, + "INS-74021_OD_K": [ + -0.0073433925920054505, + 2.8375878636241697e-05, + 1.2841989124027099e-08 + ], + "INS-74021_FOV_FRAME": "MRO_CTX", + "INS-74021_CK_REFERENCE_ID": -74900.0, + "TKFRAME_-74021_RELATIVE": "MRO_CTX_BASE", + "INS-74021_PIXEL_SIZE": [ + 0.007, + 0.007 + ], + "SCLK_PARTITION_END_74999": [ + 52973626698957.0, + 56987144678331.0, + 58187590527162.99, + 60316687182323.0, + 60877152115000.0, + 61228279788693.0, + 61339176915162.99, + 61899057915627.0, + 63521451859691.0, + 65622287643263.0 + ], + "SCLK01_N_FIELDS_74999": 2.0, + "SCLK01_OUTPUT_DELIM_74999": 1.0, + "BODY499_POLE_DEC": [ + 52.8865, + -0.0609, + 0.0 + ], + "SCLK01_OFFSETS_74999": [ + 0.0, + 0.0 + ], + "SCLK_DATA_TYPE_74999": 1.0, + "SCLK01_COEFFICIENTS_74999": [ + 0.0, + -631195148.816, + 1.0, + 3097283854336.0, + -583934347.816, + 1.0, + 5164027215872.0, + -552398346.816, + 1.0, + 7230770577408.0 + ], + "SCLK01_TIME_SYSTEM_74999": 2.0, + "SCLK_PARTITION_START_74999": [ + 0.0, + 52973626982399.99, + 56987144683520.0, + 58187590533120.0, + 60316687204352.01, + 60877152124927.99, + 61228279791616.0, + 61339176927232.0, + 61899057922048.0, + 63521451868160.0 + ], + "BODY499_POLE_RA": [ + 317.68143, + -0.1061, + 0.0 + ], + "BODY499_PM": [ + 176.63, + 350.89198226, + 0.0 + ], + "SCLK01_MODULI_74999": [ + 4294967296.0, + 65536.0 + ] + }, + "detector_sample_summing": 1, + "detector_line_summing": 1, + "focal_length_model": { + "focal_length": 352.9271664 + }, + "detector_center": { + "line": 0.430442527, + "sample": 2542.96099 + }, + "focal2pixel_lines": [ + 0.0, + 142.85714285714, + 0.0 + ], + "focal2pixel_samples": [ + 0.0, + 0.0, + 142.85714285714 + ], + "optical_distortion": { + "radial": { + "coefficients": [ + -0.0073433925920054505, + 2.8375878636241697e-05, + 1.2841989124027099e-08 + ] + } + }, + "starting_detector_line": 0, + "starting_detector_sample": 0, + "instrument_position": { + "spk_table_start_time": 297088762.24158406, + "spk_table_end_time": 297088762.2434611, + "spk_table_original_size": 2, + "ephemeris_times": [ + 297088762.24158406, + 297088762.2434611 + ], + "positions": [ + [ + -1885.2980675616832, + 913.1652236013313, + -2961.966828003069 + ], + [ + -1885.3017519980372, + 913.1599537256885, + -2961.9661251204225 + ] + ], + "velocities": [ + [ + -1.9629237646703679, + -2.80759072221274, + 0.374466578014853 + ], + [ + -1.962920608078827, + -2.8075922570664513, + 0.37447154183051934 + ] + ], + "reference_frame": 1 + }, + "sun_position": { + "spk_table_start_time": 297088762.24158406, + "spk_table_end_time": 297088762.2434611, + "spk_table_original_size": 2, + "ephemeris_times": [ + 297088762.24158406, + 297088762.2434611 + ], + "positions": [ + [ + -208246643.00357288, + -7677078.09368972, + 2103553.070434021 + ], + [ + -208246643.00396734, + -7677078.138553765, + 2103553.04986676 + ] + ], + "velocities": [ + [ + -0.2102027789950371, + -23.901883559526876, + -10.957471328254789 + ], + [ + -0.21020277326198994, + -23.90188355931826, + -10.957471328315325 + ] + ], + "reference_frame": 1 + } +} \ No newline at end of file diff --git a/docs/getting-started/data/image_to_ground/mro_ctx_v11.ti b/docs/getting-started/data/image_to_ground/mro_ctx_v11.ti new file mode 100755 index 0000000000000000000000000000000000000000..f4119178d2af9407bd72eea0c10676fd742e159f --- /dev/null +++ b/docs/getting-started/data/image_to_ground/mro_ctx_v11.ti @@ -0,0 +1,491 @@ +KPL/IK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "mro_ctx_v11.ti" +MISSION_NAME = "MARS RECONNAISSANCE ORBITER" +SPACECRAFT_NAME = "MARS RECONNAISSANCE ORBITER" +DATA_SET_ID = "MRO-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = IK +PRODUCT_ID = "mro_ctx_v11.ti" +PRODUCT_CREATION_TIME = 2012-08-23T16:12:39 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = "N/A" +PRODUCT_VERSION_TYPE = ACTUAL +PLATFORM_OR_MOUNTING_NAME = "MRO SPACECRAFT" +START_TIME = "N/A" +STOP_TIME = "N/A" +SPACECRAFT_CLOCK_START_COUNT = "N/A" +SPACECRAFT_CLOCK_STOP_COUNT = "N/A" +TARGET_NAME = MARS +INSTRUMENT_NAME = "CONTEXT CAMERA" +NAIF_INSTRUMENT_ID = -74021 +SOURCE_PRODUCT_ID = "N/A" +NOTE = "See comments in the file for details" +OBJECT = SPICE_KERNEL + INTERCHANGE_FORMAT = ASCII + KERNEL_TYPE = INSTRUMENT + DESCRIPTION = "MRO SPICE IK file for Context Camera (CTX) +providing FOV definition and other geometric parameters for the instrument, +created by NAIF, JPL with input from USGS, Flagstaff. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +CTX Instrument kernel +=========================================================================== + + This instrument kernel (I-kernel) contains MRO Context Camera (CTX) + optics, detector, and field-of-view parameters. + + +Version and Date +--------------------------------------------------------------------------- + + Version 1.1 -- August 23, 2012 -- Boris Semenov, NAIF/JPL + + Replaced ``mroctxAddendum001.ti'' with ``mroctxAddendum005.ti''. + + + Version 1.0 -- June 7, 2007 -- Boris Semenov, NAIF/JPL + + Initial release. + + +References +--------------------------------------------------------------------------- + + 1. ``Kernel Pool Required Reading'' + + 2. ``C-kernel Required Reading'' + + 3. MRO Frames Definition Kernel (FK), latest version. + + 4. MRO CTX CDR Package, March 20, 2003. + + 5. ``mroctxAddendum005.ti'' IK file by USGS, Flagstaff, included + ``as is'' at the bottom of this IK. + + 6. CTX Description, MSSS Web Site, + http://www.msss.com/mro/ctx/ctx_description.html + + +Implementation Notes +-------------------------------------------------------- + + Applications that need SPICE I-kernel data must ``load'' the I-kernel + file, normally during program initialization. + + Loading the kernel using the SPICELIB routine FURNSH causes the data + items and their associated values present in the kernel to become + associated with a data structure called the ``kernel pool''. The + application program may then obtain the value(s) for any IK data + item using the SPICELIB routines GDPOOL, GIPOOL, GCPOOL. Routine + GETFOV may be used if the file contains instrument field-of-view + (FOV) specification. See [1] for details. + + This file was created with, and can be updated with a text editor or + word processor. + + +Conventions for Specifying Data +-------------------------------------------------------- + + Data items are specified using ``keyword=value'' assignments [1]. + All keywords referencing values in this I-kernel start with the + characters `INS' followed by the NAIF MRO instrument ID code, + constructed using the spacecraft ID number (-74) followed by the + NAIF three digit ID number for CTX (021). This ID is defined in [3] + as follows: + + Instrument name ID + -------------------- ------- + MRO_CTX -74021 + + The remainder of the keyword is an underscore character followed by + the unique name of the data item. For example, the focal length of + the CTX is specified by + + INS-74021_FOCAL_LENGTH + + The upper bound on the length of all keywords is 32 characters. + + If a keyword is included in more than one file, or if the same + keyword appears more than once within a single file, the last + assignment supersedes any earlier assignments. + + +Overview +-------------------------------------------------------- + + From [5]: + + From its 3 p.m. circular, polar orbit, the MRO Context Camera + (CTX) will obtain grayscale (black-and-white) images of the + martian surface with a spatial resolution of about 6 meters (20 + feet) per pixel over a swath that is about 30 kilometers (18.6 + miles) wide. CTX is a Facility Instrument, operated by Malin + Space Science Systems and the MRO MARCI science team. + + As its name implies, CTX will provide context for images acquired + by other instruments onboard the Mars Reconnaissance Orbiter, + particularly the High Resolution Imaging Science Experiment + (HiRISE) and the Compact Reconnaissance Imaging Spectrometer for + Mars (CRISM). + + The instrument consists of a 350 mm focal length, 6 degree field + of view, catadioptric Cassegrain (Maksutov-type) telescope that + images onto a 5064 pixels-wide charge coupled device (CDD) line + array. The CCD detects a broad band of visible light from 500 to + 800 nanometers in wavelength. The instrument includes a 256 MB + DRAM buffer, so that it can acquire pictures that have downtrack + lengths greater than 160 kilometers (99 miles). In other words, a + typical CTX image can be as wide as 30 km and as long as 160 km, + or more. + + +Mounting Alignment +-------------------------------------------------------- + + Refer to the latest version of the MRO Frames Definition Kernel + (FK) [3] for the CTX reference frame definitions and mounting + alignment information. + + +Apparent FOV Layout +-------------------------------------------------------- + + This diagram illustrates the CTX apparent FOV layout in the + corresponding reference frame and the CCD corner based pixel + scheme: + + ^ + | direction of + | flight + | + + + ^ +Xctx (along track) + | + | | + | ~0.001146 degrees | + | | + v Pixel 1 | Pixel 5000 + --- +---------|---------+ + | 1 line | 2500.5x-------------> +Yctx (cross track) + --- +-------------------+ + ^ 5000 pixels/line + | + | ~5.73 degrees | + |<----------------->| + | | Boresight (+Zctx axis) + is into the page + + + This diagram illustrates the CCD center based pixel scheme used in + USGS ISIS 3 camera model ([5]): + + ^ + | direction of + | flight + | + + + ^ +Xctx (along track) + | + | | + | ~0.001146 degrees | + | | + v Pixel -2499.5 | Pixel 2499.5 + --- +---------|---------+ + | 1 line | 0 x-------------> +Yctx (cross track) + --- +-------------------+ + ^ 5000 pixels/line + | + | ~5.73 degrees | + |<----------------->| + | | Boresight (+Zctx axis) + is into the page + + +Optical Parameters +-------------------------------------------------------- + + The following CTX nominal first order optical parameters are included + in the data section below, from [4]: + + ----------------------------------------------------------------- + Parameter + ----------------------------------------------------------------- + Focal Length, mm 350.0 + f/ratio 3.25 + IFOV, rad/pixel + Cross-track 0.00002 + Along-track 0.00002 + Field of view (deg) + Cross-track 5.73 + Along-track 0.001146 + ----------------------------------------------------------------- + + The keywords below provide nominal values from the table above. + Angular size values in the keywords are given radians, with the + cross-track size being the first value and the along-track size + being the second value in each pair. + + The nominal focal length is omitted from this set because an updated + value for it included in [5] is provided later in this file. + + \begindata + + INS-74021_F/RATIO = ( 3.25 ) + INS-74021_FOV_ANGULAR_SIZE = ( 5.73, 0.001146 ) + INS-74021_IFOV = ( 0.00002, 0.00002 ) + + \begintext + + +Detector Parameters +-------------------------------------------------------- + + The nominal CTX detector parameters from [4] are: + + ----------------------------------------------------------------- + Parameter + ----------------------------------------------------------------- + Detector Array Size + Cross-track 5000 + Along-track 1 + Detector Array Center + Cross-track 2500.5 + Along-track 0.5 + Pixel Size, microns + Cross-track 7 + Along-track 7 + ----------------------------------------------------------------- + + The values are given in millimeters for PIXEL_SIZE keywords and in counts + for PIXEL_SAMPLES, PIXEL_LINES, and CENTER keywords. + + \begindata + + INS-74021_PIXEL_SIZE = ( 0.007, 0.007 ) + INS-74021_PIXEL_SAMPLES = ( 5000 ) + INS-74021_PIXEL_LINES = ( 1 ) + INS-74021_CCD_CENTER = ( 2500.5, 0.5 ) + + \begintext + + +FOV Definition +--------------------------------------------------------------------------- + + This section contains definitions for the CTX FOV. These + definitions are provided in the format required by the SPICE + (CSPICE) function GETFOV (getfov_c). + + The set of assignments in the data section below defines the + CTX FOV with respect to the CTX instrument frame to be a rectangles + with the corners defined by the first and last pixels of CCD line + array and the boresight along the +Z axis. This FOV definition uses + angular extent style specification with the cross and along track + angular sizes taken from the ``Optics Parameters'' section above. + + \begindata + + INS-74021_FOV_FRAME = 'MRO_CTX' + INS-74021_FOV_SHAPE = 'RECTANGLE' + INS-74021_BORESIGHT = ( + 0.000000 0.000000 1.000000 + ) + INS-74021_FOV_CLASS_SPEC = 'ANGLES' + INS-74021_FOV_REF_VECTOR = ( + 0.000000 1.000000 0.000000 + ) + INS-74021_FOV_REF_ANGLE = ( 2.86478898 ) + INS-74021_FOV_CROSS_ANGLE = ( 0.00057296 ) + INS-74021_FOV_ANGLE_UNITS = 'DEGREES' + + \begintext + + +Optical Distortion +-------------------------------------------------------- + + See ``mroctxAddendum005.ti'' below. + + +Platform ID +--------------------------------------------------------------------------- + + This number is the NAIF instrument ID of the platform on which the + instrument is mounted. CTX is mounted on the spacecraft bus. + + \begindata + + INS-74021_PLATFORM_ID = ( -74000 ) + + \begintext + + +MROCTX Instrument Kernel ``mroctxAddendum005.ti'' +============================================================= + + This instrument kernel (I-kernel) contains parameters that describe + the Mars Reconnaissance Orbiter CTX instrument model used by UGSG's + ISIS 3. + + This model is defined with respect to the MRO_CTX frame. + + +``mroctxAddendum005.ti'' Version and Date +------------------------------------------------------------- + + Version 1.0 -- December 12, 2006 -- Elizabeth Miller, USGS, Flagstaff, AZ + + Initial version. + + Version 2.0 -- February 13, 2008 -- Steven Lambright, USGS, Flagstaff, AZ + + Added BORESIGHT keywords + + Version 3.0 -- February 21, 2008 -- Steven Lambright, USGS, Flagstaff, AZ + + Corrected the OD_K keyword + + Version 4.0 -- Mar 23, 2010 -- Debbie A. Cook, USGS, Flagstaff, AZ + + Update to include CK_FRAME_ID and CK_REFERENCE_ID + + Version 5.0 -- Apr 17, 2012 -- Annie HKraus, USGS, Flagstaff, AZ + + Updated FOCAL_LENGTH, OD_K, BORESIGHT_SAMPLE + and BORESIGHT_LINE based on inflight calibration + by Orrin Thomas and Randy Kirk. This involved + tiepointing 6 overlapping CTX images to a HRSC + orthoimage/DTM dataset in Gale crater and fitting + the center and coefficients of a radial distortion + polynomial. The focal length was then adjusted to + its "calibrated" value which results in equal and + opposite positive/negative excursions of the + distortion polynomial over the field of view. + + Note also that the earlier versions of this kernel + contained a sign error for all OD_K distortion + coefficients, causing the use of the polynomial to + double rather than remove the distortion. + + +``mroctxAddendum005.ti'' Data +------------------------------------------------------------- + + The following is the focal length, which is expressed in MILLIMETERS. + This value comes from Randy Kirk's spreadsheet (2012) presenting the + results of Orrin Thomas's inflight calibration of CTX based on + comparison of 6 CTX images (3 adjacent stereopairs) to an HRSC + orthoimage and DTM in Gale crater. CTX-HRSC tiepoints were measured + and then projected into the CTX images with the focal length set + to a nominal value and the distortion model temporarily to zero. + This allowed straightforward fitting of a new radial distortion + polynomial. Finally, the focal length was adjusted to its so-called + calibrated value. The first distortion coefficient is varied at the + same time so that the overall geometric model is unchanged, but at + the calibrated focal length the overall distortion polynomial has + equal and opposite positive and negative excursions over the field + of view. + + The boresight samples and lines are used to specify the center of the + detector device. There are two methods to specify the center of the + detector array. The BORESIGHT parameters are expressed in pixels. + + \begindata + + INS-74021_FOCAL_LENGTH = 352.9271664 + INS-74021_BORESIGHT_SAMPLE = 2543.46099 + INS-74021_BORESIGHT_LINE = 0.430442527 + + \begintext + + The following is the pixel pitch, which is the distance between + adjacent pixels on the CCD arrays. This is expressed in + MILLIMETERS per pixel. + + \begindata + + INS-74021_PIXEL_PITCH = 7.0E-3 + + \begintext + + The following are the optical distortion parameters. + These are used to transform from observed (distorted) + coordinates (unprimed, e.g., x) to ideal coordinates + (primed, e.g., xp). Both sets of coordinates are expressed + in millimeters. + + r=sqrt(x^2 + y^2) + dr = k0*r + k1*r3 + k2*r^5 + rp = r - dr + xp = x * (rp/r), similarly for yp + + or, rearranging a bit, we have a more efficient version: + + r^2 = x^2 + y^2 + dr/r = k0 + r^2*(k1 + r^2*k2) + xp = x - (dr/r)*x + yp = y - (dr/r)*y + + The optical distortion parameters below come from Randy + Kirk's spreadsheet (2012 inflight calibration). Note + that the sign of the leading terms is opposite that in + the previous versions of this kernel. Earlier kernels + had mistakenly negated the distortion coefficients. As + a result, their use in the formulae given above doubled + rather than removing the optical distortion. + + \begindata + + INS-74021_OD_K = ( + -0.00734339259200545000000, + 0.00002837587863624170000, + 0.00000001284198912402710 + ) + + \begintext + + The following are the parameters for computing focal plane + coords from CCD coords. + + x = transx[0] + transx[1]*ccdSample_c + transx[2]*ccdLine_c + y = transy[0] + transy[1]*ccdSample_c + transy[2]*ccdLine_c + + \begindata + + INS-74021_TRANSX=( 0.0, 0.0, 0.007) + INS-74021_TRANSY=( 0.0, 0.007, 0.0) + + \begintext + + Parameters for computing CCD coords from focal plane coords + + \begindata + + INS-74021_ITRANSS=( 0.0, 0.0, 142.85714285714) + INS-74021_ITRANSL=( 0.0, 142.85714285714, 0.0) + + \begintext + + These are the parameters for writing c-kernels. Isis will create ck + with the same frame endpoints as the mission ck. For Hirise the ck + instrument frame is MRO_SPACECRAFT (-74000) and the ck reference frame + is MRO_MME_OF_DATE (-74900). + + \begindata + + INS-74021_CK_FRAME_ID=-74000 + INS-74021_CK_REFERENCE_ID=-74900 + + \begintext + +End of IK file. + diff --git a/docs/getting-started/data/image_to_ground/mro_sc_psp_090526_090601_0_sliced_-74000.bc b/docs/getting-started/data/image_to_ground/mro_sc_psp_090526_090601_0_sliced_-74000.bc new file mode 100644 index 0000000000000000000000000000000000000000..2425582e698d64e1e91a37fe464f0e2fcf5f6122 Binary files /dev/null and b/docs/getting-started/data/image_to_ground/mro_sc_psp_090526_090601_0_sliced_-74000.bc differ diff --git a/docs/getting-started/data/image_to_ground/mro_sc_psp_090526_090601_1_sliced_-74000.bc b/docs/getting-started/data/image_to_ground/mro_sc_psp_090526_090601_1_sliced_-74000.bc new file mode 100644 index 0000000000000000000000000000000000000000..8481b4ee5059e8394f52dcb7d9dd7804db2892a8 Binary files /dev/null and b/docs/getting-started/data/image_to_ground/mro_sc_psp_090526_090601_1_sliced_-74000.bc differ diff --git a/docs/getting-started/data/image_to_ground/mro_sclkscet_00082_65536.tsc b/docs/getting-started/data/image_to_ground/mro_sclkscet_00082_65536.tsc new file mode 100755 index 0000000000000000000000000000000000000000..0359f9c44d289b86e2d62131df2f477232612f99 --- /dev/null +++ b/docs/getting-started/data/image_to_ground/mro_sclkscet_00082_65536.tsc @@ -0,0 +1,523 @@ +KPL/SCLK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "mro_sclkscet_00082_65536.tsc" +MISSION_NAME = "MARS RECONNAISSANCE ORBITER" +SPACECRAFT_NAME = "MARS RECONNAISSANCE ORBITER" +DATA_SET_ID = "MRO-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = SCLK +PRODUCT_ID = "mro_sclkscet_00082_65536.tsc" +PRODUCT_CREATION_TIME = 2019-05-30T11:01:52 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = "N/A" +PRODUCT_VERSION_TYPE = ACTUAL +PLATFORM_OR_MOUNTING_NAME = "N/A" +START_TIME = "N/A" +STOP_TIME = "N/A" +SPACECRAFT_CLOCK_START_COUNT = "N/A" +SPACECRAFT_CLOCK_STOP_COUNT = "N/A" +TARGET_NAME = MARS +INSTRUMENT_NAME = "N/A" +NAIF_INSTRUMENT_ID = "N/A" +SOURCE_PRODUCT_ID = "N/A" +NOTE = "See comments in the file for details" +OBJECT = SPICE_KERNEL + INTERCHANGE_FORMAT = ASCII + KERNEL_TYPE = CLOCK_COEFFICIENTS + DESCRIPTION = "MRO SPICE SCLK file providing correlation +data for the primary MRO on-board clock tags in ``standard'' and ``high +precision'' format, created by NAIF, JPL. The original name of this file was +MRO_SCLKSCET.00082.65536.tsc. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +MRO SCLK File, for ``Standard'' and ``High Precision'' SCLK Formats +=========================================================================== + + This file is a special SCLK kernel that contains correlation data + for the MRO on-board clock tags presented either in ``standard'' + or ``high precision'' format. + + ``Standard'' MRO on-board clock tags are derived from 5-byte tags + present in majority of the spacecraft and instrument telemetry and + utilizing only the last of five bytes for fractional seconds. This + results in one SCLK tick being equal to 1/256 of a second. The ID + of this clock is -74, the same as of the MRO spacecraft. + + ``High precision'' MRO on-board clock tags are derived from 6-byte + tags present in some of the spacecraft and instrument telemetry + and utilizing the last two of six bytes for fractional seconds. + This results in one SCLK tick being equal to 1/65536 of a seconds. + The ID of this clock is -74999. + + Although SCLK parameters for these two correlations are different, + having them in the same file and loading them at the same time + does not cause any conflicts in MRO SPICE implementation. This is + because: 1) different IDs are used in the names of the keywords + used to store these parameters in this file, 2) different IDs must + be provided to get access to either of the two correlations, and + 3) a specific ID -- normally ID of the ``standard'' clock -- is + associated with each of the MRO CK-based frames via definitions in + the MRO Frames Kernel. + + +Production/History of This SCLK File +-------------------------------------------------------- + + The data in this file was generated by the NAIF utility program + MAKCLK, version 3.5.2, from the most recent MRO spacecraft + SCLKvSCET file (see corresponding section of the description for + the SCLKvSCET SFDU header and MAKCLK setup files). + + +Usage +-------------------------------------------------------- + + This file must be loaded into the user's program by a call to the + FURNSH subroutine + + CALL FURNSH( 'this_file_name' ) + + in order to use the SPICELIB SCLK family of subroutines to convert + either ``standard'' or ``high precision'' MRO spacecraft on-board + clock to ET and vice versa. + + +SCLK Format +-------------------------------------------------------- + + As mentioned above this SCLK kernel supports conversion of the MRO + on-board clock either in ``standard'' or ``high precision'' + format. + + The MRO on-board clock tags in ``standard'' format, to be + converted using ID -74, have the following form: + + P/SSSSSSSSSS:FFF + + where: + + P/ -- optional partition identifier + + SSSSSSSSSS -- count of on-board seconds + + FFF -- count of fractions of a second with one + fraction being 1/256 of a second; normally this + field value is within 0..255 range. + + The MRO on-board clock tags in ``high precision'' format, to be + converted using ID -74999, have the following form: + + P/SSSSSSSSSS:FFFFF + + where: + + P/ -- optional partition identifier + + SSSSSSSSSS -- count of on-board seconds + + FFFFF -- count of fractions of a second with one + fraction being 1/65536 of a second; normally + this field value is within 0..65535 range. + + +References +-------------------------------------------------------- + + 1. SCLK Required Reading Document + + 2. MAKCLK User's Guide Document + + 3. SFOC SCLKvSCET SIS Document + + +Inquiries +-------------------------------------------------------- + + If you have any questions regarding this file contact NAIF at JPL + + Charles H. Acton, Jr + (818) 354-3869 + Chuck.Acton@jpl.nasa.gov + + Boris V. Semenov + (818) 354-8136 + Boris.Semenov@jpl.nasa.gov + + +SCLKvSCET File SFDU Header +-------------------------------------------------------- + + MISSION-NAME=MARS-RECONNAISSANCE-ORBITER; + SPACECRAFT-NAME=MARS-RECONNAISSANCE-ORBITER; + DATA-SET-ID=SCLK-SCET; + FILE-NAME=MRO-SCLKSCET.00082; + PRODUCT-CREATION-TIME=2019-05-30T16:00:00; + PRODUCT-VERSION-ID=82; + PRODUCER-ID=SCT; + APPLICABLE-START-TIME=1980-001T00:00:00; + APPLICABLE-STOP-TIME=2020-001T00:00:00; + MISSION-ID=28; + SPACECRAFT-ID=74; + + +MAKCLK Setup Files +-------------------------------------------------------- + +MAKCLK Setup for ``Standard'' Format Clock + + SCLKSCET_FILE = MRO_SCLKSCET.00082 + OLD_SCLK_KERNEL = /sdma/naif/ops/projects/MRO/scet/bin/mro_template.tsc + FILE_NAME = MRO_SCLKSCET.00082.tsc + NAIF_SPACECRAFT_ID = -74 + LEAPSECONDS_FILE = /sdma/naif/ops/projects/MRO/lsk/mro.tls + PARTITION_TOLERANCE = 10 + LOG_FILE = MRO_SCLKSCET.00082.log + + +MAKCLK Setup for ``High Precision'' Format Clock + + SCLKSCET_FILE = MRO_SCLKSCET.00082 + OLD_SCLK_KERNEL = /sdma/naif/ops/projects/MRO/scet/bin/mro_template_65536.tsc + FILE_NAME = MRO_SCLKSCET.00082.65536.tsc + NAIF_SPACECRAFT_ID = -74999 + LEAPSECONDS_FILE = /sdma/naif/ops/projects/MRO/lsk/mro.tls + PARTITION_TOLERANCE = 2560 + LOG_FILE = MRO_SCLKSCET.00082.log + + + +Kernel DATA for ``Standard'' Format Clock +-------------------------------------------------------- + +\begindata + + +SCLK_KERNEL_ID = ( @2019-05-30/16:46:03.00 ) + +SCLK_DATA_TYPE_74 = ( 1 ) +SCLK01_TIME_SYSTEM_74 = ( 2 ) +SCLK01_N_FIELDS_74 = ( 2 ) +SCLK01_MODULI_74 = ( 4294967296 256 ) +SCLK01_OFFSETS_74 = ( 0 0 ) +SCLK01_OUTPUT_DELIM_74 = ( 1 ) + +SCLK_PARTITION_START_74 = ( 0.0000000000000E+00 + 2.0692823040000E+11 + 2.2260603392000E+11 + 2.2729527552000E+11 + 2.3561205939200E+11 + 2.3780137548800E+11 + 2.3917296793600E+11 + 2.3960615987200E+11 + 2.4179319500800E+11 + 2.4813067136000E+11 + 2.5633706112000E+11 + 2.5737636633600E+11 + 2.6501157401600E+11 + 2.7159871590400E+11 + 2.7626595737600E+11 + 2.8004752460800E+11 + 2.9335648051200E+11 + 3.1175723596800E+11 ) + +SCLK_PARTITION_END_74 = ( 2.0692822929300E+11 + 2.2260603390000E+11 + 2.2729527549700E+11 + 2.3561205930600E+11 + 2.3780137544900E+11 + 2.3917296792500E+11 + 2.3960615982500E+11 + 2.4179319498300E+11 + 2.4813067132700E+11 + 2.5633706110600E+11 + 2.5737636629200E+11 + 2.6501157399500E+11 + 2.7159871588000E+11 + 2.7626595732800E+11 + 2.8004752462700E+11 + 2.9335648049900E+11 + 3.1175723590000E+11 + 1.0995116277750E+12 ) + +SCLK01_COEFFICIENTS_74 = ( + + 0.0000000000000E+00 -6.3119514881600E+08 1.0000000000000E+00 + 1.2098765056000E+10 -5.8393434781600E+08 1.0000000000000E+00 + 2.0171981312000E+10 -5.5239834681600E+08 1.0000000000000E+00 + 2.8245197568000E+10 -5.2086234581600E+08 1.0000000000000E+00 + 4.4413748224000E+10 -4.5770394481600E+08 1.0000000000000E+00 + 6.4629966080000E+10 -3.7873434381600E+08 1.0000000000000E+00 + 8.0798516736000E+10 -3.1557594281600E+08 1.0000000000000E+00 + 8.8871732992000E+10 -2.8403994181600E+08 1.0000000000000E+00 + 1.0097049804800E+11 -2.3677914081600E+08 1.0000000000000E+00 + 1.0904371430400E+11 -2.0524313981600E+08 1.0000000000000E+00 + 1.1711693056000E+11 -1.7370713881600E+08 1.0000000000000E+00 + 1.2925993241600E+11 -1.2627353781600E+08 1.0000000000000E+00 + 1.4135869747200E+11 -7.9012736816000E+07 1.0000000000000E+00 + 1.5350169932800E+11 -3.1579135816000E+07 9.9999999999626E-01 + 2.0692822929300E+11 1.7711824685900E+08 9.9999852023164E-01 + 2.0700659831700E+11 1.7742437540600E+08 1.0000000000000E+00 + 2.0701189034900E+11 1.7744504740600E+08 1.0000000226389E+00 + 2.0740766916500E+11 1.7899105844100E+08 1.0000000201904E+00 + 2.0814306986900E+11 1.8186371749900E+08 1.0000000150408E+00 + 2.0844943607700E+11 1.8306046051700E+08 1.0000000132783E+00 + 2.0937485457300E+11 1.8667537656500E+08 1.0000000070773E+00 + 2.0948336990100E+11 1.8709926456800E+08 1.0000000106838E+00 + 2.1005844855700E+11 1.8934566559200E+08 9.9999997549027E-01 + 2.1012111735700E+11 1.8959046558600E+08 1.0000000000000E+00 + 2.1012650871700E+11 1.8961152558600E+08 9.9999872490489E-01 + 2.1014538103700E+11 1.8968524549200E+08 1.0000000061688E+00 + 2.1051887198100E+11 1.9114419450100E+08 1.0000000031304E+00 + 2.1100953975700E+11 1.9306086550700E+08 1.0000000020774E+00 + 2.1187215735700E+11 1.9643046551400E+08 1.0000000000000E+00 + 2.1338249156500E+11 2.0233020851400E+08 9.9999903576062E-01 + 2.1340081066900E+11 2.0240176744500E+08 9.9999999979331E-01 + 2.1463939959700E+11 2.0724000544400E+08 9.9999949258425E-01 + 2.1465907575700E+11 2.0731686540500E+08 9.9999999523305E-01 + 2.1524981086100E+11 2.0962442439400E+08 9.9999999390912E-01 + 2.1672086289300E+11 2.1537072135900E+08 9.9999999172986E-01 + 2.1771141495700E+11 2.1924006532700E+08 9.9999999091646E-01 + 2.1974058001300E+11 2.2716649125500E+08 9.9999904776985E-01 + 2.1985214967700E+11 2.2760230984000E+08 9.9999999090157E-01 + 2.2260603279300E+11 2.3835966566400E+08 9.9999998312114E-01 + 2.2526024079300E+11 2.4872766548900E+08 9.9999998135288E-01 + 2.2645463439300E+11 2.5339326540200E+08 9.9999998168063E-01 + 2.2729527437000E+11 2.5667701525200E+08 9.9999998094590E-01 + 2.2873286566600E+11 2.6229260614500E+08 9.9999997705480E-01 + 2.3430021568200E+11 2.8404006664600E+08 9.9999997696065E-01 + 2.3561205815600E+11 2.8916445119200E+08 9.9999997716838E-01 + 2.3643057233200E+11 2.9236177211900E+08 9.9999997615993E-01 + 2.3780137421300E+11 2.9771646683900E+08 9.9999997596158E-01 + 2.3808891341300E+11 2.9883966681200E+08 9.9999997661369E-01 + 2.3917296665000E+11 3.0307424967000E+08 9.9999996666604E-01 + 2.3960615853900E+11 3.0476640543000E+08 9.9999900775628E-01 + 2.4039383597900E+11 3.0784326737700E+08 9.9999906859216E-01 + 2.4081408583500E+11 3.0948486684800E+08 9.9999916040942E-01 + 2.4120132218700E+11 3.1099750757800E+08 9.9999917286095E-01 + 2.4179319365000E+11 3.1330950356800E+08 9.9999997132958E-01 + 2.4257895134600E+11 3.1637886948000E+08 9.9999996979812E-01 + 2.4773253803400E+11 3.3651006687200E+08 9.9999996778956E-01 + 2.4813066996900E+11 3.3806526969300E+08 9.9999996913538E-01 + 2.4819702440100E+11 3.3832446668500E+08 9.9999996880886E-01 + 2.5080699662500E+11 3.4851967036700E+08 9.9999996809006E-01 + 2.5633705971500E+11 3.7012147862300E+08 9.9999996574055E-01 + 2.5653881433900E+11 3.7090958259600E+08 9.9999996297776E-01 + 2.5737636488700E+11 3.7418126430300E+08 9.9999996157694E-01 + 2.5742300373500E+11 3.7436344729600E+08 9.9999996310760E-01 + 2.5994189602300E+11 3.8420286993300E+08 9.9999996214355E-01 + 2.6254541551100E+11 3.9437286754800E+08 9.9999994833919E-01 + 2.6306077730300E+11 3.9638599944400E+08 9.9999995814220E-01 + 2.6501157254600E+11 4.0400629304300E+08 9.9999995647018E-01 + 2.6556438918600E+11 4.0616573294900E+08 9.9999995525593E-01 + 2.6823629651400E+11 4.1660287048200E+08 9.9999995498477E-01 + 2.7159871441000E+11 4.2973731479700E+08 9.9999995058672E-01 + 2.7283692394600E+11 4.3457407055800E+08 9.9999995009204E-01 + 2.7626595583400E+11 4.4796872570200E+08 9.9999995056608E-01 + 2.7993760460200E+11 4.6231110299300E+08 9.9999906323305E-01 + 2.8004752308500E+11 4.6274047166500E+08 9.9999995127939E-01 + 2.8088823527700E+11 4.6602450350500E+08 9.9999995067969E-01 + 2.8476558311700E+11 4.8117039275800E+08 9.9999936539106E-01 + 2.8482609281300E+11 4.8140675860800E+08 9.9999994916894E-01 + 2.8676506497300E+11 4.8898086822300E+08 9.9999994803892E-01 + 2.8951419930900E+11 4.9971967366500E+08 9.9999936715673E-01 + 2.8960683521300E+11 5.0008153243600E+08 9.9999994520999E-01 + 2.9137299636500E+11 5.0698059905800E+08 9.9999861190744E-01 + 2.9148328295700E+11 5.0741140546000E+08 9.9999993983758E-01 + 2.9335647897600E+11 5.1472857696900E+08 9.9999993443361E-01 + 2.9347361228800E+11 5.1518612893900E+08 9.9999994402935E-01 + 2.9893018624000E+11 5.3650086974600E+08 9.9999994336138E-01 + 3.0006467712000E+11 5.4093247449500E+08 9.9999994197216E-01 + 3.0331608217600E+11 5.5363327475800E+08 9.9999994020072E-01 + 3.0395823027200E+11 5.5614166560800E+08 9.9999993934296E-01 + 3.0672684544000E+11 5.6695656795200E+08 9.9999987843425E-01 + 3.0773976243200E+11 5.7091327447100E+08 9.9999987927052E-01 + 3.0800693811200E+11 5.7195692934500E+08 9.9999913018966E-01 + 3.0810229683200E+11 5.7232942402100E+08 9.9999929846274E-01 + 3.0822636723200E+11 5.7281407368100E+08 9.9999987843555E-01 + 3.0828322585600E+11 5.7303617765400E+08 9.9999990549992E-01 + 3.0835907763200E+11 5.7333247362600E+08 9.9999994480704E-01 + 3.0884609638400E+11 5.7523489052100E+08 9.9999994591542E-01 + 3.1015249484800E+11 5.8033800924500E+08 9.9999991404611E-01 + 3.1019716992000E+11 5.8051252123000E+08 9.9999988113311E-01 + 3.1175723436400E+11 5.8660652224000E+08 9.9999988279539E-01 + 3.1249549868400E+11 5.8949036690200E+08 9.9999988514458E-01 + 3.1318645446000E+11 5.9218941259200E+08 9.9999988948542E-01 + 3.1392076486000E+11 5.9505781227500E+08 9.9999999323101E-01 + 3.1410986233200E+11 5.9579647427000E+08 9.9999999396431E-01 + 3.1508539231600E+11 5.9960713824700E+08 9.9999999028872E-01 + 3.1756333382000E+11 6.0928659715300E+08 9.9999998600000E-01 ) + +\begintext + + + +Kernel DATA for ``High Precision'' Format Clock +-------------------------------------------------------- + +\begindata + + +SCLK_KERNEL_ID = ( @2019-05-30/16:46:06.00 ) + +SCLK_DATA_TYPE_74999 = ( 1 ) +SCLK01_TIME_SYSTEM_74999 = ( 2 ) +SCLK01_N_FIELDS_74999 = ( 2 ) +SCLK01_MODULI_74999 = ( 4294967296 65536 ) +SCLK01_OFFSETS_74999 = ( 0 0 ) +SCLK01_OUTPUT_DELIM_74999 = ( 1 ) + +SCLK_PARTITION_START_74999 = ( 0.0000000000000E+00 + 5.2973626982400E+13 + 5.6987144683520E+13 + 5.8187590533120E+13 + 6.0316687204352E+13 + 6.0877152124928E+13 + 6.1228279791616E+13 + 6.1339176927232E+13 + 6.1899057922048E+13 + 6.3521451868160E+13 + 6.5622287646720E+13 + 6.5888349782016E+13 + 6.7842962948096E+13 + 6.9529271271424E+13 + 7.0724085088256E+13 + 7.1692166299648E+13 + 7.5099259011072E+13 + 7.9809852407808E+13 ) + +SCLK_PARTITION_END_74999 = ( 5.2973626698957E+13 + 5.6987144678331E+13 + 5.8187590527163E+13 + 6.0316687182323E+13 + 6.0877152115000E+13 + 6.1228279788693E+13 + 6.1339176915163E+13 + 6.1899057915627E+13 + 6.3521451859691E+13 + 6.5622287643263E+13 + 6.5888349770747E+13 + 6.7842962942791E+13 + 6.9529271265267E+13 + 7.0724085076049E+13 + 7.1692166304603E+13 + 7.5099259007666E+13 + 7.9809852390453E+13 + 2.8147497671065E+14 ) + +SCLK01_COEFFICIENTS_74999 = ( + + 0.0000000000000E+00 -6.3119514881600E+08 1.0000000000000E+00 + 3.0972838543360E+12 -5.8393434781600E+08 1.0000000000000E+00 + 5.1640272158720E+12 -5.5239834681600E+08 1.0000000000000E+00 + 7.2307705774080E+12 -5.2086234581600E+08 1.0000000000000E+00 + 1.1369919545344E+13 -4.5770394481600E+08 1.0000000000000E+00 + 1.6545271316480E+13 -3.7873434381600E+08 1.0000000000000E+00 + 2.0684420284416E+13 -3.1557594281600E+08 1.0000000000000E+00 + 2.2751163645952E+13 -2.8403994181600E+08 1.0000000000000E+00 + 2.5848447500288E+13 -2.3677914081600E+08 1.0000000000000E+00 + 2.7915190861824E+13 -2.0524313981600E+08 1.0000000000000E+00 + 2.9981934223360E+13 -1.7370713881600E+08 1.0000000000000E+00 + 3.3090542698496E+13 -1.2627353781600E+08 1.0000000000000E+00 + 3.6187826552832E+13 -7.9012736816000E+07 1.0000000000000E+00 + 3.9296435027968E+13 -3.1579135816000E+07 9.9999999999999E-01 + 5.2973626698957E+13 1.7711824685900E+08 9.9999852023164E-01 + 5.2993689169101E+13 1.7742437540600E+08 1.0000000000000E+00 + 5.2995043929293E+13 1.7744504740600E+08 1.0000000226389E+00 + 5.3096363306189E+13 1.7899105844100E+08 1.0000000201904E+00 + 5.3284625886413E+13 1.8186371749900E+08 1.0000000150408E+00 + 5.3363055635661E+13 1.8306046051700E+08 1.0000000132783E+00 + 5.3599962770637E+13 1.8667537656500E+08 1.0000000070773E+00 + 5.3627742694605E+13 1.8709926456800E+08 1.0000000106838E+00 + 5.3774962830541E+13 1.8934566559200E+08 9.9999997549027E-01 + 5.3791006043341E+13 1.8959046558600E+08 1.0000000000000E+00 + 5.3792386231501E+13 1.8961152558600E+08 9.9999872490489E-01 + 5.3797217545421E+13 1.8968524549200E+08 1.0000000061688E+00 + 5.3892831227085E+13 1.9114419450100E+08 1.0000000031304E+00 + 5.4018442177741E+13 1.9306086550700E+08 1.0000000020774E+00 + 5.4239272283341E+13 1.9643046551400E+08 1.0000000000000E+00 + 5.4625917840589E+13 2.0233020851400E+08 9.9999903576062E-01 + 5.4630607531213E+13 2.0240176744500E+08 9.9999999979331E-01 + 5.4947686296781E+13 2.0724000544400E+08 9.9999949258425E-01 + 5.4952723393741E+13 2.0731686540500E+08 9.9999999523305E-01 + 5.5103951580365E+13 2.0962442439400E+08 9.9999999390912E-01 + 5.5480540900557E+13 2.1537072135900E+08 9.9999999172986E-01 + 5.5734122228941E+13 2.1924006532700E+08 9.9999999091646E-01 + 5.6253588483277E+13 2.2716649125500E+08 9.9999904776985E-01 + 5.6282150317261E+13 2.2760230984000E+08 9.9999999099945E-01 + 5.6987144394888E+13 2.3835966566400E+08 9.9999998312114E-01 + 5.7666621642888E+13 2.4872766548900E+08 9.9999998135288E-01 + 5.7972386404488E+13 2.5339326540200E+08 9.9999998200126E-01 + 5.8187590238531E+13 2.5667701525200E+08 9.9999998094590E-01 + 5.8555613610307E+13 2.6229260614500E+08 9.9999997705480E-01 + 5.9980855214403E+13 2.8404006664600E+08 9.9999997699936E-01 + 6.0316686887734E+13 2.8916445119200E+08 9.9999997716838E-01 + 6.0526226516790E+13 2.9236177211900E+08 9.9999997600036E-01 + 6.0877151798382E+13 2.9771646683900E+08 9.9999997596158E-01 + 6.0950761833582E+13 2.9883966681200E+08 9.9999997699925E-01 + 6.1228279462147E+13 3.0307424967000E+08 9.9999996699968E-01 + 6.1339176585694E+13 3.0476640543000E+08 9.9999900775628E-01 + 6.1540822010334E+13 3.0784326737700E+08 9.9999906859216E-01 + 6.1648405973470E+13 3.0948486684800E+08 9.9999916040942E-01 + 6.1747538479582E+13 3.1099750757800E+08 9.9999917299955E-01 + 6.1899057574089E+13 3.1330950356800E+08 9.9999997132958E-01 + 6.2100211544265E+13 3.1637886948000E+08 9.9999996979812E-01 + 6.3419529736393E+13 3.3651006687200E+08 9.9999996799560E-01 + 6.3521451511732E+13 3.3806526969300E+08 9.9999996913538E-01 + 6.3538438246324E+13 3.3832446668500E+08 9.9999996880886E-01 + 6.4206591135668E+13 3.4851967036700E+08 9.9999996800035E-01 + 6.5622287286835E+13 3.7012147862300E+08 9.9999996574055E-01 + 6.5673936470579E+13 3.7090958259600E+08 9.9999996300108E-01 + 6.5888349410862E+13 3.7418126430300E+08 9.9999996157694E-01 + 6.5900288955950E+13 3.7436344729600E+08 9.9999996310760E-01 + 6.6545125381678E+13 3.8420286993300E+08 9.9999996214355E-01 + 6.7211626370606E+13 3.9437286754800E+08 9.9999994833919E-01 + 6.7343558989358E+13 3.9638599944400E+08 9.9999995800003E-01 + 6.7842962571637E+13 4.0400629304300E+08 9.9999995647018E-01 + 6.7984483631477E+13 4.0616573294900E+08 9.9999995525593E-01 + 6.8668491907445E+13 4.1660287048200E+08 9.9999995499988E-01 + 6.9529270888808E+13 4.2973731479700E+08 9.9999995058672E-01 + 6.9846252530024E+13 4.3457407055800E+08 9.9999994999976E-01 + 7.0724084693433E+13 4.4796872570200E+08 9.9999995056608E-01 + 7.1664026778041E+13 4.6231110299300E+08 9.9999905999912E-01 + 7.1692165909780E+13 4.6274047166500E+08 9.9999995127939E-01 + 7.1907388230932E+13 4.6602450350500E+08 9.9999995067969E-01 + 7.2899989277972E+13 4.8117039275800E+08 9.9999936539106E-01 + 7.2915479760148E+13 4.8140675860800E+08 9.9999994916894E-01 + 7.3411856633108E+13 4.8898086822300E+08 9.9999994803892E-01 + 7.4115635023124E+13 4.9971967366500E+08 9.9999936715673E-01 + 7.4139349814548E+13 5.0008153243600E+08 9.9999994520999E-01 + 7.4591487069460E+13 5.0698059905800E+08 9.9999861190744E-01 + 7.4619720437012E+13 5.0741140546000E+08 9.9999994000024E-01 + 7.5099258617798E+13 5.1472857696900E+08 9.9999993443361E-01 + 7.5129244745670E+13 5.1518612893900E+08 9.9999994402935E-01 + 7.6526127677382E+13 5.3650086974600E+08 9.9999994336138E-01 + 7.6816557342662E+13 5.4093247449500E+08 9.9999994197216E-01 + 7.7648917036998E+13 5.5363327475800E+08 9.9999994020072E-01 + 7.7813306949574E+13 5.5614166560800E+08 9.9999993934296E-01 + 7.8522072432582E+13 5.6695656795200E+08 9.9999987843425E-01 + 7.8781379182534E+13 5.7091327447100E+08 9.9999987927052E-01 + 7.8849776156614E+13 5.7195692934500E+08 9.9999913018966E-01 + 7.8874187988934E+13 5.7232942402100E+08 9.9999929846274E-01 + 7.8905950011334E+13 5.7281407368100E+08 9.9999987843555E-01 + 7.8920505819078E+13 5.7303617765400E+08 9.9999990549992E-01 + 7.8939923873734E+13 5.7333247362600E+08 9.9999994480704E-01 + 7.9064600674246E+13 5.7523489052100E+08 9.9999994591542E-01 + 7.9399038681030E+13 5.8033800924500E+08 9.9999991404611E-01 + 7.9410475499462E+13 5.8051252123000E+08 9.9999988100041E-01 + 7.9809851997179E+13 5.8660652224000E+08 9.9999988279539E-01 + 7.9998847663099E+13 5.8949036690200E+08 9.9999988514458E-01 + 8.0175732341755E+13 5.9218941259200E+08 9.9999988948542E-01 + 8.0363715804155E+13 5.9505781227500E+08 9.9999999323101E-01 + 8.0412124756987E+13 5.9579647427000E+08 9.9999999396431E-01 + 8.0661860432891E+13 5.9960713824700E+08 9.9999999028872E-01 + 8.1296213457915E+13 6.0928659715300E+08 9.9999998600000E-01 ) + +\begintext + + + diff --git a/docs/getting-started/data/image_to_ground/mro_v16.tf b/docs/getting-started/data/image_to_ground/mro_v16.tf new file mode 100644 index 0000000000000000000000000000000000000000..b7bc0f7fe0f45fb9cdd82361fa36bd2286822874 --- /dev/null +++ b/docs/getting-started/data/image_to_ground/mro_v16.tf @@ -0,0 +1,2880 @@ +KPL/FK + +Mars Reconnaissance Orbiter Frames Kernel +=============================================================================== + + This frame kernel contains complete set of frame definitions for the + Mars Reconnaissance Orbiter (MRO) spacecraft, its structures and + science instruments. This frame kernel also contains name - to - + NAIF ID mappings for MRO science instruments and s/c structures (see + the last section of the file.) + + +Version and Date +------------------------------------------------------------------------------- + + Version 1.6 -- November 11, 2020 -- Boris Semenov, NAIF + + Updated MRO_HGA_BASEPLATE and MRO_HGA frame alignments based on + [22]. + + Version 1.5 -- October 22, 2012 -- Boris Semenov, NAIF + + Updated orientations of the MRO_MCS_BASE and + MRO_MCS_EL_GIMBAL_REF frames to incorporate alignment data + derived from off-track observations in 2012. + + Version 1.4 -- February 18, 2009 -- Laszlo Keszthelyi, USGS; + Boris Semenov, NAIF + + Adjusted the orientation of the MRO_HIRISE_OPTICAL_AXIS frame to + compensate for the correction of the optical distortion model + made in 2008. + + Adjusted the orientation of the MRO_HIRISE_LOOK_DIRECTION frame + to compensate for the change in the orientation of the + MRO_HIRISE_OPTICAL_AXIS frame (to keep MRO_HIRISE_LOOK_DIRECTION + oriented with respect to the spacecraft the same way as it was in + the versions 0.7-1.3 of the FK). + + Version 1.3 -- January 23, 2009 -- Boris Semenov, NAIF + + Updated orientations of the MRO_MCS_BASE and + MRO_MCS_EL_GIMBAL_REF frames to incorporate alignment data + derived from off-track observations in 2008. + + Version 1.2 -- April 24, 2008 -- Boris Semenov, NAIF + + Redefined the MRO_MCS_BASE frame to be with respect to the + MRO_SPACECRAFT frame with zero offset rotation. "Moved" MCS + azimuth offset (-0.46 deg about Z) from the MRO_MCS_EL_GIMBAL_REF + definition to the MRO_MCS_AZ_GIMBAL_REF definition. Added + MRO_MCS_SOLAR_TARGET frame (ID -74506). + + Version 1.1 -- September 08, 2007 -- Boris Semenov, NAIF + + Re-defined MARCI frames to follow convention used by MSSS. + Incorporated MARCI alignment provided by MSSS. Changed names for + MARCI bands in the naif-ID definitions from VIS_BAND1, ... + UV_BAND2 to VIS_BLUE, ... UV_LONG_UV. + + Version 1.0 -- May 31, 2007 -- Boris Semenov, NAIF + + Changed MCS frame layout based on [17] and incorporated MCS + misalignment data used by the MCS team, specifically: + + - renamed MRO_MCS_AZ_GIMBAL_0 to MRO_MCS_AZ_GIMBAL_REF + + - renamed MRO_MCS_EL_GIMBAL_0 to MRO_MCS_EL_GIMBAL_REF + + - redefined MRO_MCS frame to be nominally co-aligned with the + s/c frame in the forward-looking position (az=180,el=90) + + - incorporated MCS misalignment derived by the MCS team from + early post MOI observations and used in processing during + first year of PSP (in the definition of the + MRO_MCS_EL_GIMBAL_REF frame) + + Incorporated final ONC alignment calibrated in flight provided + in [15] + + Incorporated CRISM frame layout and misalignment data used by the + CRISM team ([18]), specifically: + + - renamed MRO_CRISM_OSU to MRO_CRISM_ART + + - changed the frame chain diagram and table to show that + MRO_CRISM_IR is fixed relative to MRO_CRISM_VNIR + + - replaced previous CRISM frame definition section of the FK + with sections ``Version and Date'', ``References'', + ``Contact Information'' and ``CRISM Frame Definitions'' + from [18] + + - changed MRO_CRISM_VNIR instrument ID from -74012 to -74017 + in the name/ID mapping keywords + + - changed MRO_CRISM_IR instrument ID from -74013 to -74018 + in the name/ID mapping keywords + + - deleted MRO_CRISM_OSU/-74011 name/ID mapping keywords + + Version 0.9 -- February 27, 2007 -- Boris Semenov, NAIF + + Fixed comments in the ```MRO Frames'' section. + + Version 0.8 -- April 17, 2006 -- Boris Semenov, NAIF + + Incorporated ONC alignment calibrated in flight (provided by Nick + Mastrodemos on November 7, 2005.) + + Added a note stating that MRO_MME_OF_DATE frame is the same as + MME-D frame defined in [16] to the MRO_MME_OF_DATE description + block. + + Corrected typo in the MRO_MARCI_VIS frame definition (the keyword + TKFRAME_-74410_AXES was TKFRAME_-74s041_AXES.) + + Version 0.7 -- September 22, 2005 -- Boris Semenov, NAIF + + The following changes were made to make frames defined for HIRISE + consistent with the terminology used and calibration approach + proposed by the HIRISE team: + + - MRO_HIRISE_IF frame was renamed to MRO_HIRISE_OPTICAL_AXIS + + - MRO_HIRISE frame was renamed to MRO_HIRISE_LOOK_DIRECTION + + - preliminary HIRISE in-flight calibrated alignment with + respect to the spacecraft frame was incorporated into the + MRO_HIRISE_OPTICAL_AXIS frame definition + + - MRO_HIRISE_LOOK_DIRECTION was redefined to be with respect + to the MRO_HIRISE_OPTICAL_AXIS frame; the rotation + incorporated into this definition was computed by combining + preliminary HIRISE in-flight calibrated alignment for + MRO_HIRISE_OPTICAL_AXIS frame with the pre-launch alignment + for the HIRISE boresight. + + Version 0.6 -- August 25, 2005 -- Boris Semenov, NAIF + + Incorporated ground alignment data for HiRISE, CRISM, CTX and + MSC. + + Version 0.5 -- August 8, 2005 -- Boris Semenov, NAIF + + Added MRO_MME_2000 frame. + + Version 0.4 -- June 2, 2005 -- Boris Semenov, NAIF + + Replaced MRO_MME_OF_DATE placeholder definition with a + dynamically defined MME of date frame. + + Version 0.3 -- May 16, 2005 -- Boris Semenov, NAIF + + Corrected MRO_HGA frame to align its +X axis with the HGA pattern + clock angle reference line. + + Version 0.2 -- February 16, 2005 -- Boris Semenov, NAIF + + Changed body ID of the MRO_HIRISE and frame ID of the MRO_HIRISE + frame from -74600 to -74699. Added MRO_HIRISE_CCD0/-74600 name/ID + mapping pair. Removed MRO_HIRISE_CCD14/-74614 name/ID mapping pair. + + Version 0.1 -- August 23, 2004 -- Boris Semenov, NAIF + + Added MRO_MME_OF_DATE frame (currently mapped to MARSIAU; when + SPICE parameterized frames capability is released, this frame + will be redefined as a dynamic frame.) + + Version 0.0 -- March 15, 2004 -- Boris Semenov, NAIF + + Initial Release. + + +References +------------------------------------------------------------------------------- + + 1. ``Frames Required Reading'' + + 2. ``Kernel Pool Required Reading'' + + 3. ``C-Kernel Required Reading'' + + 4. `Mars Reconnaissance Orbiter. GN&C Hardware Coordinate + Frame Definitions and Transformations'', Rev. 3, 11/30/99 + + 5. ``CRISM MICD'', Final Update, Oct 7, 2003 + + 6. ``CTX ICD'', Final Update, July 8, 2003 + + 7. ``HIRISE ICD'', Final Update, Oct 17, 2003 + + 8. ``MARCI ICD'', Final Update, Oct 13, 2003 + + 9. ``MCS ICD'', Final Update, Oct 13, 2003 + + 10. ``ONC ICD'', Post-PDR Update, Sep 21, 2002 + + 11. ``SHARAD ICD'', Final Update, Oct 24, 2003 + + 12. Misc. PDR/CDR presentations, 2002/2003 + + 13. E-mail from R. Tung, MRO Telecom, regarding HGA clock reference + line. May 16, 2005. + + 14. Ground Alignment Spreadsheet, ``mro-final-alignment_REV-G.xls''. + + 15. ONC-ACS alignment, e-mail from Nick Mastrodemos, ONC Team, + May 10, 2007. + + 16. "MRO GN&C Hardware Coordinate Frame Definitions and + Transformations (LIB-8)", 09/22/04 + + 17. Suggested changes to the MCS frame layout, e-mail from Steven + Gaiser, MCS Team, Aug 4, 2006 + + 18. CRISM FK file "MRO_CRISM_FK_0000_000_N_1.TF", created by the CRISM + Team, 09/14/06. + + 19. E-mail from Joe Fahle, MSSS, regarding the MARCI frame definition, + September 5, 2007. + + 20. Analysis of MCS alignment based on 2008 off-track observations, + by ? (MCS Team, JPL), Fall 2008. + + 21. Updated MCS alignment based on 2012 off-track observations, + e-mails from Dr. John T. Schofield, 07/24/12 & 10/22/12. + + 22. E-mail from Paul Salame, LMCO, regarding the HGA frame definitions, + October 28, 2020. + + +Contact Information +------------------------------------------------------------------------------- + + Boris V. Semenov, NAIF/JPL, (818)-354-8136, Boris.Semenov@jpl.nasa.gov + + +Implementation Notes +------------------------------------------------------------------------------- + + This file is used by the SPICE system as follows: programs that make + use of this frame kernel must ``load'' the kernel, normally during + program initialization. The SPICELIB routine FURNSH/furnsh_c loads a + kernel file into the pool as shown below. + + CALL FURNSH ( 'frame_kernel_name; ) + furnsh_c ( "frame_kernel_name" ); + + This file was created and may be updated with a text editor or word + processor. + + +MRO Frames +------------------------------------------------------------------------------- + + The following MRO frames are defined in this kernel file: + + Name Relative to Type NAIF ID + ====================== ===================== ============ ======= + + Non Built-in Mars Frames: + ------------------------- + MRO_MME_OF_DATE rel.to J2000 DYNAMIC -74900 + MRO_MME_2000 rel.to J2000 FIXED -74901 + + Spacecraft frame: + ----------------- + MRO_SPACECRAFT rel.to MME_OF_DATE CK -74000 + + Science Instrument frames: + -------------------------- + MRO_CRISM_BASE rel.to SPACECRAFT FIXED -74011 + MRO_CRISM_ART rel.to CRISM_BASE CK -74012 + MRO_CRISM_VNIR rel.to MRO_CRISM_ART FIXED -74017 + MRO_CRISM_IR rel.to MRO_CRISM_VNIR FIXED -74018 + + MRO_CTX_BASE rel.to SPACECRAFT FIXED -74020 + MRO_CTX rel.to CTX_BASE FIXED -74021 + + MRO_HIRISE_LOOK_DIRECTION rel.to SPACECRAFT FIXED -74699 + MRO_HIRISE_OPTICAL_AXIS rel.to SPACECRAFT FIXED -74690 + + MRO_MARCI_BASE rel.to SPACECRAFT FIXED -74400 + MRO_MARCI_VIS rel.to MARCI_BASE FIXED -74410 + MRO_MARCI_UV rel.to MARCI_BASE FIXED -74420 + + MRO_MCS_BASE rel.to SPACECRAFT FIXED -74501 + MRO_MCS_AZ_GIMBAL_REF rel.to MCS_BASE FIXED -74502 + MRO_MCS_AZ_GIMBAL rel.to MCS_AZ_GIMBAL_REF CK -74503 + MRO_MCS_EL_GIMBAL_REF rel.to MCS_AZ_GIMBAL FIXED -74504 + MRO_MCS_EL_GIMBAL rel.to MCS_EL_GIMBAL_REF CK -74505 + MRO_MCS rel.to MCS_EL_GIMBAL FIXED -74500 + MRO_MCS_SOLAR_TARGET rel.to MCS_AZ_GIMBAL FIXED -74506 + + MRO_ONC rel.to SPACECRAFT FIXED -74030 + + MRO_SHARAD rel.to SPACECRAFT FIXED -74070 + + Antenna frames: + --------------- + MRO_HGA_BASEPLATE rel.to SPACECRAFT FIXED -74211 + MRO_HGA_INNER_GIMBAL rel.to HGA_BASEPLATE CK -74212 + MRO_HGA_OUTER_GIMBAL rel.to HGA_INNER_GIM CK -74213 + MRO_HGA rel.to HGA_OUTER_GIM FIXED -74214 + MRO_LGA1 rel.to HGA FIXED -74220 + MRO_LGA2 rel.to HGA FIXED -74230 + MRO_UHF rel.to SPACECRAFT FIXED -74240 + + Solar Array frames: + ------------------- + MRO_SAPX_BASEPLATE rel.to SPACECRAFT FIXED -74311 + MRO_SAPX_INNER_GIMBAL rel.to SAPX_BASEPLATE CK -74312 + MRO_SAPX_OUTER_GIMBAL rel.to SAPX_INNER_GIM CK -74313 + MRO_SAPX rel.to SAPX_OUTER_GIM FIXED -74314 + MRO_SAMX_BASEPLATE rel.to SPACECRAFT FIXED -74321 + MRO_SAMX_INNER_GIMBAL rel.to SAMX_BASEPLATE CK -74322 + MRO_SAMX_OUTER_GIMBAL rel.to SAMX_INNER_GIM CK -74323 + MRO_SAMX rel.to SAMX_OUTER_GIM FIXED -74324 + + +MRO Frames Hierarchy +------------------------------------------------------------------------------- + + The diagram below shows MRO frames hierarchy: + + + "J2000" INERTIAL + +------------------------------------------------------------+ + | | | | + | <--pck |<--fixed |<-dynamic | <--pck + | | | | + V | | V + "IAU_MARS" V V "IAU_EARTH" + MARS BFR(*) "MRO_MME_2000" "MRO_MME_OF_DATE" EARTH BFR(*) + ----------- -------------- ----------------- ------------ + | + | + | "MRO_LGA1" "MRO_LGA2" + | ---------- ---------- + | ^ ^ + | | | + | | <--fixed | <--fixed + | | | + | | | + "MRO_SA*X" | | "MRO_HGA" | + ---------- | +-----------------+ + ^ | ^ + | | | + fixed--> | | | <--fixed + | | | + "MRO_SA*X_OUTER_GIMBAL" | "MRO_HGA_OUTER_GIMBAL" + ----------------------- | ---------------------- + ^ | ^ + | | | + ck--> | | | <--ck + | | | + "MRO_SA*X_INNER_GIMBAL" | "MRO_HGA_INNER_GIMBAL" + ----------------------- | ---------------------- + ^ | ^ + | | | + ck--> | | | <--ck + | | | + "MRO_SA*X_BASEPLATE" | "MRO_HGA_BASEPLATE" "MRO_UHF" + -------------------- | ------------------- --------- + ^ | ^ ^ + | | | | + fixed--> | |<--ck | <--fixed | <--fdx + | | | | + | "MRO_SPACECRAFT" | | + +-----------------------------------------------------------+ + | | | | | | | + | | | | | | | <--fxd + | | | | | | | + | | | | | | V + | | | | | | "MRO_SHARAD" + | | | | | | ------------ + | | | | | | + | | | | | | <--fixed + | | | | | | + | | | | | V + | | | | | "MRO_ONC" + | | | | | --------- + | | | | | + | | | | | <--fixed + | | | | | + | | | | V + | | | | "MRO_MCS_BASE" + | | | | -------------- + | | | | | + | | | | | <--fixed + | | | | | + | | | | V + | | | | "MRO_MCS_AZ_GIMBAL_REF" + | | | | ----------------------- + | | | | | + | | | | | <--ck + | | | | | + | | | | V + | | | | "MRO_MCS_AZ_GIMBAL" + | | | | ---------------------------+ + | | | | | | + | | | | | <--fixed | + | | | | | | + | | | | V | + | | | | "MRO_MCS_EL_GIMBAL_REF" | + | | | | ----------------------- | + | | | | | | + | | | | | <--ck | + | | | | | | + | | | | V | + | | | | "MRO_MCS_EL_GIMBAL" | + | | | | ------------------- | + | | | | | | + | | | | | <--fixed fixed--> | + | | | | | | + | | | | V V + | | | | "MRO_MCS" "MRO_MCS_SOLAR_TARGET" + | | | | --------- ---------------------- + | | | | + | | | | + | | | | + | | | | <--fixed + | | | | + | | | V + | | | "MRO_MARCI_BASE" + | | | -------------------------+ + | | | | | + | | | | <--fixed | <--fixed + | | | | | + | | | V V + | | | "MRO_MARCI_VIS" "MRO_MARCI_UV" + | | | --------------- -------------- + | | | + | | | + | | | + | | +---------------------------------+ + | | | | + | | | <--fixed |<--fixed + | | | | + | | V V + | | "MRO_HIRISE_LOOK_DIRECTION" "MRO_HIRISE_OPTICAL_AXIS" + | | --------------------------- ------------------------- + | | + | | + | | + | | <--fixed + | | + | V + | "MRO_CTX_BASE" + | -------------- + | | + | | <--fixed + | | + | V + | "MRO_CTX" + | --------- + | + | + | + | <--fixed + | + V + "MRO_CRISM_BASE" + ---------------- + | + | <--ck + | + V + "MRO_CRISM_ART" + --------------- + | + | <--fixed + | + V + "MRO_CRISM_VNIR" + ---------------- + | + | <--fixed + | + V + "MRO_CRISM_IR" + -------------- + + + (*) BFR -- body-fixed rotating frame + + +Non Built-in Mars Frames: +------------------------------------------------------------------------------- + + +MME ``Of Date'' Frame +--------------------- + + The MRO_MME_OF_DATE frame is based on Mean Mars Equator and IAU + vector of date computed using IAU 2000 Mars rotation constants. This + frame is called MME-D in [16]; it is the reference frame of the s/c + orientation quaternions computed on-board and in the AtArPS program + and stored in the the MRO s/c CK files. + + In this version of the FK MRO_MME_OF_DATE frame is implemented as as + Euler frame mathematically identical to the PCK frame IAU_MARS based + on IAU 2000 Mars rotation constants but without prime meridian + rotation terms. + + The PCK data defining the IAU_MARS frame are: + + BODY499_POLE_RA = ( 317.68143 -0.1061 0. ) + BODY499_POLE_DEC = ( 52.88650 -0.0609 0. ) + BODY499_PM = ( 176.630 350.89198226 0. ) + + These values are from: + + Seidelmann, P.K., Abalakin, V.K., Bursa, M., Davies, M.E., Bergh, C + de, Lieske, J.H., Oberst, J., Simon, J.L., Standish, E.M., Stooke, + and Thomas, P.C. (2002). "Report of the IAU/IAG Working Group on + Cartographic Coordinates and Rotational Elements of the Planets and + Satellites: 2000," Celestial Mechanics and Dynamical Astronomy, v.8 + Issue 1, pp. 83-111. + + Here pole RA/Dec terms in the PCK are in degrees and degrees/century; + the rates here have been converted to degrees/sec. Prime meridian + terms from the PCK are disregarded. + + The 3x3 transformation matrix M defined by the angles is + + M = [ 0.0] [angle_2] [angle_3] + 3 1 3 + + Vectors are mapped from the J2000 base frame to the MRO_MME_OF_DATE + frame via left multiplication by M. + + The relationship of these Euler angles to RA/Dec for the + J2000-to-IAU Mars Mean Equator and IAU vector of date transformation + is as follows: + + angle_1 is 0.0 + angle_2 is pi/2 - Dec * (radians/degree) + angle_3 is pi/2 + RA * (radians/degree), mapped into the + range 0 < angle_3 < 2*pi + - + + Since when we define the MRO_MME_OF_DATE frame we're defining the + *inverse* of the above transformation, the angles for our Euler frame + definition are reversed and the signs negated: + + angle_1 is -pi/2 - RA * (radians/degree), mapped into the + range 0 < angle_3 < 2*pi + - + angle_2 is -pi/2 + Dec * (radians/degree) + angle_3 is 0.0 + + Then our frame definition is: + + \begindata + + FRAME_MRO_MME_OF_DATE = -74900 + FRAME_-74900_NAME = 'MRO_MME_OF_DATE' + FRAME_-74900_CLASS = 5 + FRAME_-74900_CLASS_ID = -74900 + FRAME_-74900_CENTER = 499 + FRAME_-74900_RELATIVE = 'J2000' + FRAME_-74900_DEF_STYLE = 'PARAMETERIZED' + FRAME_-74900_FAMILY = 'EULER' + FRAME_-74900_EPOCH = @2000-JAN-1/12:00:00 + FRAME_-74900_AXES = ( 3 1 3 ) + FRAME_-74900_UNITS = 'DEGREES' + FRAME_-74900_ANGLE_1_COEFFS = ( -47.68143 + 0.33621061170684714E-10 ) + FRAME_-74900_ANGLE_2_COEFFS = ( -37.1135 + -0.19298045478743630E-10 ) + FRAME_-74900_ANGLE_3_COEFFS = ( 0.0 ) + FRAME_-74900_ROTATION_STATE = 'INERTIAL' + + \begintext + + NOTE 1: The frame definition above will work ONLY with the SPICE + Toolkits version N0058 or later. Should a need to use this FK with + an older version of the toolkit (N0057 or earlier) arise, the + definition above could be replaced with the following keywords: + + FRAME_MRO_MME_OF_DATE = -74900 + FRAME_-74900_NAME = 'MRO_MME_OF_DATE' + FRAME_-74900_CLASS = 4 + FRAME_-74900_CLASS_ID = -74900 + FRAME_-74900_CENTER = -74 + TKFRAME_-74900_SPEC = 'ANGLES' + TKFRAME_-74900_RELATIVE = 'MRO_MME_2000' + TKFRAME_-74900_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74900_AXES = ( 1, 2, 3 ) + TKFRAME_-74900_UNITS = 'DEGREES' + + These keywords simply map the MRO_MME_OF_DATE frame to the + MRO_MME_2000 frame defined later in this FK. The error introduced by + such replacement will be about 0.2 milliradian. + + NOTE 2: In order to "freeze" the MRO_MME_OF_DATE frame at an + arbitrary epoch, in the definition above replace the keyword + + FRAME_-74900_ROTATION_STATE = 'INERTIAL' + + with the keyword + + FRAME_-74900_FREEZE_EPOCH = @YYYY-MM-DD/HR:MN:SC.### + + where YYYY-MM-DD/HR:MN:SC.### is the freeze epoch given as ET. For + example, to freeze this frame at 2006-02-06, which the nominal + freeze epoch for cruise, provide the keyword with this value: + + FRAME_-74900_FREEZE_EPOCH = @2006-02-06/00:00:00.000 + + +MME ``2000'' Frame +------------------ + + The MRO_MME_2000 frame is the MRO_MME_OF_DATE frame frozen at J2000. + For computing efficiency reasons this frame is defined as a fixed + offset frame relative to the J2000 frame. The rotation matrix + provided in the definition was computed using the following PXFORM + call: + + CALL PXFORM( 'MRO_MME_OF_DATE', 'J2000', 0.D0, MATRIX ) + + \begindata + + FRAME_MRO_MME_2000 = -74901 + FRAME_-74901_NAME = 'MRO_MME_2000' + FRAME_-74901_CLASS = 4 + FRAME_-74901_CLASS_ID = -74901 + FRAME_-74901_CENTER = 499 + TKFRAME_-74901_SPEC = 'MATRIX' + TKFRAME_-74901_RELATIVE = 'J2000' + TKFRAME_-74901_MATRIX = ( + + 0.6732521982472339 0.7394129276360180 0.0000000000000000 + -0.5896387605430040 0.5368794307891331 0.6033958972853946 + 0.4461587269353556 -0.4062376142607541 0.7974417791532832 + + ) + + \begintext + + +Spacecraft Bus Frame +------------------------------------------------------------------------------- + + + The spacecraft frame (or AACS control frame) is defined by the s/c design + as follows [from 4]: + + - Z axis is parallel to the nominal HIRISE boresight; + + - Y axis is anti-parallel to the MOI thrust vector; + + - X axis completes the right hand frame; + + - the origin of the frame is centered on the launch vehicle + separation plane. + + (In [4] this frame is designated as "M" frame.) + + These diagrams illustrates the s/c frame: + + + -Y view: + -------- .o. HGA + .' | `. + .' | `. + ------------------- + `. .' + `-._______.-' + o + ____/_\____ + / \ + / \ + Direction / \ + of flight \ +Xsc +Ysc (into the page) + <------- \ <----x / + ..........o | o.......... + .-' /| | |\ `-. + SAPX .-' / | V +Zsc| \ `-. SAMX + .-\\ / |-----------| \ //-. + .-' \\ / | | | | \ // `-. + -' \\ ./ .___| |___. \. // `- + \ \\ .-' .___. `-. // / + \ \\-' HiRISE `-// / + \ .-' `-. / + \ .-' | `-. / + -' | `- + V Nadir + + +Z view: + -------- + . ---- . + .' `. HGA + .' `. + / \ + . .-------. . + | | o | | + . \ / . + \ \ / / + `. \ / .' + `. \ / .' + SAPX ` --o-- ' SAMX + ========================o_____H_____o======================== + | / _ \ | + | | '_' | HiRISE + |---\___/---| + | | + Direction | | + of flight | +Zsc (out of the page) + <------- <----o ____. + +Xsc \_|_/ + /|\ + V + +Ysc + + + + Since the S/C bus attitude is provided by a C kernel (see [3] for + more information), this frame is defined as a CK-based frame. + + \begindata + + FRAME_MRO_SPACECRAFT = -74000 + FRAME_-74000_NAME = 'MRO_SPACECRAFT' + FRAME_-74000_CLASS = 3 + FRAME_-74000_CLASS_ID = -74000 + FRAME_-74000_CENTER = -74 + CK_-74000_SCLK = -74 + CK_-74000_SPK = -74 + + \begintext + + +MRO Science Instrument Frames +------------------------------------------------------------------------------- + + This section contains frame definitions for MRO science instruments -- + CRISM, CTX, HIRISE, MARCI, MCS, ONC, and SHARAD. + + +CRISM Frames +------------ + + The following frames are defined for CRISM: + + - CRISM base frame (MRO_CRISM_BASE) -- fixed w.r.t. to the s/c + frame and nominally has +X axis co-aligned with the s/c +Z + axis, +Y axis co-aligned with the s/c +X axis, and +Z axis + co-aligned with the s/c +Y axis. + + - CRISM articulation frame (MRO_CRISM_ART) -- rotates about +Z + axis w.r.t. CRISM_BASE frame (and, therefore, defined as a + CK-based frame) and co-aligned with the CRISM_BASE at "0" + (nadir) scanner position; + + - CRISM Visual and Near InfraRed apparent FOV frame + (MRO_CRISM_VNIR) -- fixed w.r.t. MRO_CRISM_ART and has the +Z + axis along boresight (the instrument slit center), the -X axis + along gimbal rotation axis, and the +Y axis completing a + right-handed frame; + + - CRISM InfraRed apparent FOV frame (MRO_CRISM_IR) -- fixed + w.r.t. and defined identically to the MRO_CRISM_VNIR; + + This diagram illustrates CRISM frames for CRISM scanner in "0" (nadir) + position: + + . ---- . + .' `. HGA + .' `. + / \ + . .-------. . + | | o | | + . \ / . + \ \ / / + `. \ / .' + `. \ / .' + SAPX ` --o-- ' SAMX + ========================o_____H_____o======================== + | / _ \ | + | | ' | + |--- ^ | + +Ycrism_base .|.+Xcrism_vnir/ir + Direction +Ycrism_vnir/ir ||| | + of flight | <----o | + <------- <----o |___. +Zsc, +Xcrism_base, + +Xsc \_|_| and +Zcrism_vnir/ir + /|\V +Zcrism_base are out of the page + V + +Ysc + + The rest of the comments and frame definitions in this section were + copied ``as is'' from ``MRO_CRISM_FK_0000_000_N_1.TF'' ([18]). + + ``MRO_CRISM_FK_0000_000_N_1.TF'' Section ``Version and Date'' + ------------------------------------------------------------- + + Version 0.1 -- September 14, 2006 -- Lillian Nguyen, JHU/APL + + Added alignment information and text. + + Version 0.0 -- April 25, 2006 -- Wen-Jong Shyong, JHU/APL + + Initial Release. + + + ``MRO_CRISM_FK_0000_000_N_1.TF'' Section ``References'' + ------------------------------------------------------- + + 1. CRISM pointing sign conventions, "CALRPT_26_1_V2_PointSign.ppt", + received from David Humm (JHU/APL). + + 2. MRO alignment report, "MRO-final-alignment_REV-G.xls", received + from David Humm. + + 3. "CRISM Alignment Test Report", JHU/APL drawing number 7398-9600. + + 4. Discussion between Scott Turner and David Humm regarding CRISM + alignment. + + + ``MRO_CRISM_FK_0000_000_N_1.TF'' Section ``Contact Information'' + ---------------------------------------------------------------- + + Lillian Nguyen, JHU/APL, (443)-778-5477, Lillian.Nguyen@jhuapl.edu + + + ``MRO_CRISM_FK_0000_000_N_1.TF'' Section ``CRISM Frame Definitions'' + -------------------------------------------------------------------- + + The nominal CRISM base frame is defined such that Z is the gimbal axis of + rotation, X is the projection of the instrument boresight (slit center) + onto the plane normal to the gimbal axis at 0 degrees, and Y completes + the right-handed frame. This nominal frame differs from the spacecraft + frame by the following axis relabelling: + + X = Z + nominal CRISM base sc + + Y = X + nominal CRISM base sc + + Z = Y + nominal CRISM base sc, + + written as a rotation matrix: + + [ ] [ 0 1 0 ] + [ R1 ] = [ 0 0 1 ] + [ ] [ 1 0 0 ] + + The axes of the nominal CRISM base frame are illustrated in the + diagram below. + + + ^ instrument slit center + | + _|_ X (Z ) + | | ^ sc + | | gimbal axis into the page | + ____|___|____ | + | | | + | .O. |------> S/C velocity o------> Y (X ) + |____/ \____| Z (Y ) sc + ____/_____\____ sc + /////////////// + spacecraft + + In [2] we are given three alignment matrices from which we can determine + the rotation matrix taking vectors from the CRISM base frame to vectors in + the spacecraft frame. The first of those matrices takes vectors in the + CRISM optical cube frame to vectors in the HiRISE frame: + + [ ]HiRISE [ 0.999917 0.001050 0.012822 ] + [ A ] = [ -0.001056 0.999999 0.000460 ] + [ ]CRISM [ -0.012821 -0.000473 0.999918 ] + + where the CRISM frame is defined in [2] as + + Y = Axis of rotation of the instrument. + Z = Axis perpendicular to Y and lying in the plane formed by the Gimbal + axis and the Optical axis. + X axis completes a right-hand-rectangular coordinate frame. + + Note that it is believed that Z was determined using the CRISM optical axis + (the normal projected from the mirror on the rear of the secondary mirror), + while the CRISM base frame definition uses the slit center. We will adjust + for the angular difference between the optical axis and slit center vectors + later, with matrix [ R2 ]. + + Due to circumstances in the alignment tests, the instrument team changed + the theta Y value (the measure of the gimbal axis rotation) from 0.735 + degree to 0.755 degree [4], resulting in a corrected [ A ] matrix taking + vectors from the CRISM frame to the HiRISE frame. [2] describes these + circumstances as follows: + + "Theta Y for CRISM is a measure of the gimbal axis rotation. At the time of + this measurement, the amount of this rotation was not controlled (CRISM was + not powered). However, the measured value of 0.735 degree is very close to + the Pre-environmental measurement of 0.755 degree, which was taken in a + powered state at zero degrees gimbal rotation." + + The calculations used to determine the corrected [ A ] matrix are + explained below. + + If we describe the CRISM to HiRISE rotation as + + [ ]HiRISE [ a d g ] + [ A ] = [ b e h ] + [ ]CRISM [ c f i ], + + then theta Y is defined in [2] as + + theta Y = atan ( g/i ) (degrees), + + and is equal to 0.755 degrees [4]. To determine the corrected matrix, we + solve a set of equations defined by the following constraints: + + 1) atan(g/i) = 0.755 deg + 2) norm( (g, h, i) ) = 1 (axes are unit length) + 3) dot( (d, e, f), (g, h, i) ) = 0 (orthogonality of axes) + + Note that constraint 3) uses the gimbal axis vector, (d, e, f), which + we assume remains fixed. + + Solving for g and i (taking the positive solution to the quadratic equation + in constraint 2), then readjusting vector (a, b, c) by using the cross + product to form an orthogonal frame, we get the corrected matrix: + + [ ]HiRISE [ 0.999912630217 0.001049999963 0.013176853036 ] + [ A ] = [ -0.001056141713 0.999998986721 0.000460000010 ] + [ ]CRISM [ -0.013176361292 -0.000472999993 0.999913076097 ] + + The second matrix given in [2] takes vectors from the Star Tracker 1 + alignment cube frame to vectors in the HiRISE optical axis frame. The + alignment report gives the following matrix: + + [ ]HiRISE [ -0.966071 0.000673 -0.258275 ] + [ B ] = [ -0.087542 0.939949 0.329897 ] + [ ]Star Tr. 1 [ 0.242988 0.341314 -0.907999 ] + + The third matrix takes vectors from the Star Tracker 1 alignment cube frame + to vectors in the spacecraft frame: + + [ ]spacecraft [ -0.966218 0.000257 -0.257726 ] + [ C ] = [ -0.087724 0.939960 0.329818 ] + [ ]Star Tr. 1 [ 0.242337 0.341285 -0.908184 ] + + Finally, we describe the rotation [ R2 ] that takes vectors from the CRISM' + frame to the CRISM frame defined above, where the CRISM' frame differs + only in that the Z axis is the projection of the slit center (and not of + the optical axis as in the CRISM frame) onto the plane perpendicular to + the gimbal axis. We assume that the gimbal axis as measured in [2] and [3] + is the same, and use the following measurements given in [3] to determine + the angle between the optical axis and the slit center: + + gimbal axis: [0.0008242301 0.9999940951 0.0033362399] + slit center at home (0 deg.): [0.013894654 -0.003154637 0.999898488 ] + optical axis at home (0 deg.): [0.014603728 -0.003256776 0.999888056 ] + + This rotation is determined by first projecting both the slit center and + optical axes onto the plane normal to the gimbal axis and calculating the + angle, alpha, between the two projected vectors, then creating the rotation + matrix about the gimbal axis (Y in the CRISM frame). The angle between the + two projected vectors is calculated to be: + + alpha = 0.040635904 deg. + + and the rotation matrix is: + + [ ]CRISM [ 0.999999748496 0.000000000000 -0.000709230259 ] + [ R2 ] = [ 0.000000000000 1.000000000000 0.000000000000 ] + [ ]CRISM' [ 0.000709230259 0.000000000000 0.999999748496 ] + + The measured alignment of the CRISM base frame relative to the spacecraft + frame then is obtained by multiplying the three alignment matrices with the + two rotation matrices (R1 for axis relabelling and R2 to take into account + that the measurement in [2] used the CRISM optical axis) as follows (note + that we are using the corrected [ A ] matrix from above): + + [ ]spacecraft [ ] [ ]t [ ] [ ] [ ] + [ R ] = [ C ] [ B ] [ A ] [ R2 ] [ R1 ] + [ ]CRISM base [ ] [ ] [ ] [ ] [ ] + + where 't' denotes the matrix transpose. This gives us: + + [ ]spacecraft [ 0.0117851901010 0.9999301878218 0.0008536843642 ] + [ R ] = [ 0.0004938596793 -0.0008595641829 0.9999995086259 ] + [ ]CRISM base [ 0.9999304302785 -0.0117847627097 -0.0005039553291 ] + + To review, the sequence of transformations taking vectors from the CRISM + base frame to the spacecraft frame is as follows: + + CRISM base --[R1]--> CRISM' (slit center as boresight) + + CRISM' --[R2]--> CRISM (optical axis as boresight) + + CRISM ---[A]--> HiRISE + + HiRISE ---[B]--> Star Tracker 1 + + Star Tracker 1 ---[C]--> spacecraft. + + CRISM Base Frame (MRO_CRISM_BASE): + + \begindata + + FRAME_MRO_CRISM_BASE = -74011 + FRAME_-74011_NAME = 'MRO_CRISM_BASE' + FRAME_-74011_CLASS = 4 + FRAME_-74011_CLASS_ID = -74011 + FRAME_-74011_CENTER = -74 + TKFRAME_-74011_SPEC = 'MATRIX' + TKFRAME_-74011_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74011_MATRIX = ( 0.0117851901010 + 0.0004938596793 + 0.9999304302785 + 0.9999301878218 + -0.0008595641829 + -0.0117847627097 + 0.0008536843642 + 0.9999995086259 + -0.0005039553291 ) + \begintext + + + The CRISM articulation frame is defined such that Z is the gimbal axis of + rotation, X is the projection of the instrument slit center onto the plane + normal to the gimbal axis at theta degrees, and Y completes the right- + handed frame. At gimbal home (0 degree), the articulation frame is + identical to the CRISM base frame, MRO_CRISM_BASE. The articulation frame + rotates the base frame about the gimbal axis and is C-kernel based + (see [5]). + + CRISM Articulation Frame (MRO_CRISM_ART): + + \begindata + + FRAME_MRO_CRISM_ART = -74012 + FRAME_-74012_NAME = 'MRO_CRISM_ART' + FRAME_-74012_CLASS = 3 + FRAME_-74012_CLASS_ID = -74012 + FRAME_-74012_CENTER = -74 + CK_-74012_SCLK = -74999 + CK_-74012_SPK = -74 + + \begintext + + + The MRO_CRISM_VNIR frame is defined such that the Z axis is the boresight + (the instrument slit center), the -X axis is the gimbal rotation axis, and + the Y axis completes a right-handed frame. The nominal mapping of + CRISM VNIR coordinates to CRISM articulation frame coordinates is + + X = -Z + VNIR art + + Y = Y + VNIR art + + Z = X + VNIR art, + + or as a rotation matrix: + + [ ]articulation [ 0 0 1 ] + [ R ] = [ 0 1 0 ] + [ ]nominal VNIR [ -1 0 0 ] + + We will use the following measured alignments given in [3] to adjust the + nominal frame: + + gimbal axis: [0.0008242301, 0.9999940951, 0.0033362399] + slit center at home: [0.013894654, -0.003154637, 0.999898488 ] + + To determine the VNIR boresight, we rotate the gimbal axis (Z ) by + art + theta degrees about Y , where theta is the angle between the measured + art + gimbal axis and measured slit center at home. Note that rotation of the + slit center at home about the gimbal axis was adjusted for in the CRISM + base frame's intermediate matrix [ R2 ]. The angular separation, theta, + is calculated to be: + + theta = 89.9889570902 degrees + + Rotating Z by theta about Y , we obtain + art art + + Z = [ 0.9999999814 0.0000000000 0.0001927351 ] + VNIR + + We obtain the VNIR Y axis by taking the cross product of the gimbal axis, + Z , with the boresight, Z : + art VNIR + + Y = [ 0.0 1.0 0.0 ] + VNIR + + The VNIR X axis completes the right-handed frame: + + X = [ 0.0001927351 0.0000000000 -0.9999999814 ] + VNIR + + Thus, the rotation matrix taking vectors from the VNIR frame to the + articulation frame is + + [ ] [ 0.0001927351 0.0000000000 0.9999999814 ] + [ R ] = [ 0.0000000000 1.0000000000 0.0000000000 ] + [ ] [ -0.9999999814 0.0000000000 0.0001927351 ] + + CRISM VNIR Frame (MRO_CRISM_VNIR): + + \begindata + + FRAME_MRO_CRISM_VNIR = -74017 + FRAME_-74017_NAME = 'MRO_CRISM_VNIR' + FRAME_-74017_CLASS = 4 + FRAME_-74017_CLASS_ID = -74017 + FRAME_-74017_CENTER = -74 + TKFRAME_-74017_SPEC = 'MATRIX' + TKFRAME_-74017_RELATIVE = 'MRO_CRISM_ART' + TKFRAME_-74017_MATRIX = ( 0.0001927351 + 0.0000000000 + -0.9999999814 + 0.0000000000 + 1.0000000000 + 0.0000000000 + 0.9999999814 + 0.0000000000 + 0.0001927351 ) + + \begintext + + The MRO_CRISM_IR frame is defined identically to the MRO_CRISM_VNIR + frame. Any offsets between the VNIR and IR are accounted for in the + camera model described in the MRO CRISM Instrument Kernel. + + \begindata + + FRAME_MRO_CRISM_IR = -74018 + FRAME_-74018_NAME = 'MRO_CRISM_IR' + FRAME_-74018_CLASS = 4 + FRAME_-74018_CLASS_ID = -74018 + FRAME_-74018_CENTER = -74 + TKFRAME_-74018_SPEC = 'MATRIX' + TKFRAME_-74018_RELATIVE = 'MRO_CRISM_VNIR' + TKFRAME_-74018_MATRIX = ( 1.0 + 0.0 + 0.0 + 0.0 + 1.0 + 0.0 + 0.0 + 0.0 + 1.0 ) + + \begintext + + +CTX Frames +---------- + + The following frames are defined for CTX: + + - CTX base frame (MRO_CTX_BASE) -- fixed w.r.t. and nominally + co-aligned with the MRO_SPACECRAFT frame; + + - CTX apparent FOV frame (MRO_CTX) -- fixed w.r.t. MRO_CTX_BASE + and nominally co-aligned with it; it has +Z along boresight, + +Y along the detector line, and +X completing the right hand + frame; + + This diagram illustrates CTX frames: + + . ---- . + .' `. HGA + .' `. + / \ + . .-------. . + | | o | | + . \ / . + \ \ / / + `. \ / .' + `. \ / .' + SAPX ` --o-- ' SAMX + ========================o_____H_____o======================== + | / _ \ | + | ' ' | + |--- <----o | + | +Xctx* | | + Direction | | | + of flight | V +Yctx* + <------- <----o ____. +Zsc and +Zctx* + +Xsc \_|_ are out of the + /|\ the page + V + +Ysc + + The keyword sets below define CTX frames. Except cases were the + source of the alignment data is specifically noted, these frame + definitions incorporate the nominal alignment. + + The following CTX to HIRISE Direction Cosine Matrix (DCM) was + provided in [14]: + + 0.99999994 0.00021198 -0.00026011 + -0.00021196 0.99999998 0.00005486 + 0.00026012 -0.00005481 0.99999996 + + This matrix is incorporated in the MRO_CTX_BASE definition below. + + \begindata + + FRAME_MRO_CTX_BASE = -74020 + FRAME_-74020_NAME = 'MRO_CTX_BASE' + FRAME_-74020_CLASS = 4 + FRAME_-74020_CLASS_ID = -74020 + FRAME_-74020_CENTER = -74 + TKFRAME_-74020_SPEC = 'MATRIX' + TKFRAME_-74020_RELATIVE = 'MRO_HIRISE_LOOK_DIRECTION' + TKFRAME_-74020_MATRIX = ( + 0.99999994 + -0.00021196 + 0.00026012 + 0.00021198 + 0.99999998 + -0.00005481 + -0.00026011 + 0.00005486 + 0.99999996 + ) + + FRAME_MRO_CTX = -74021 + FRAME_-74021_NAME = 'MRO_CTX' + FRAME_-74021_CLASS = 4 + FRAME_-74021_CLASS_ID = -74021 + FRAME_-74021_CENTER = -74 + TKFRAME_-74021_SPEC = 'ANGLES' + TKFRAME_-74021_RELATIVE = 'MRO_CTX_BASE' + TKFRAME_-74021_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74021_AXES = ( 1, 2, 3 ) + TKFRAME_-74021_UNITS = 'DEGREES' + + \begintext + + +HIRISE Frames +------------- + + The following frames are defined for HIRISE: + + - HIRISE ``look direction'' frame (MRO_HIRISE_LOOK_DIRECTION) -- + fixed w.r.t. and nominally co-aligned with the MRO_SPACECRAFT + frame; it has +Z along the camera boresight, nominally defined + as the view direction of the detector pixel 0 of CCD 5/Channel + 1 for Mars in-focus observations (*), +Y along the detector lines, + and +X completing the right hand frame; + + - HIRISE optical axis frame (MRO_HIRISE_OPTICAL_AXIS) -- fixed + w.r.t. MRO_SPACECRAFT and is nominally rotated from it by + +0.45 degrees about +Y axis; it has +Z along the camera + optical axis, +Y along the detector lines, and +X completing + the right hand frame; + + (*) the actual boresight direction shifts by up to 1 arcsecond + (5 pixels) depending on the instrument focus setting. + + This diagram illustrates HIRISE frames: + + .o. HGA + .' | `. + .' | `. + ------------------- + `. .' + `-._______.-' + o + ____/_\____ + / \ + / \ + Direction / \ + of flight \ +Xsc +Ysc (into the page) + <------- \ <----x / + ..........o | o.......... + .-' /| | |\ `-. + SAPX .-' V +Zsc| \ `-. SAMX + .-\\ +Xh_* -------| \ //-. + .-' \\ <----x HiRISE \ // `-. + -' \\ ./ .___| | |___. \. // `- + \ \\ .-' ._|_. `-. // / + \ \\-' V `-// / + \ .-' +Zh_* `-. / + \ .-' `-. / + `-' 0.45 deg ->||<- `-' + || + VV + +Zh_oa +Zh_ld (co-aligned with s/c +Z) + + | + | Nadir + V + + The keyword sets below define HIRISE frames. Except cases were the + source of the alignment data is specifically noted, these frame + definitions incorporate the nominal alignment. + + +MRO_HIRISE_LOOK_DIRECTION Frame Rotation Provided in FK Versions 0.0-0.5 + + In the FK versions 0.0-0.6 this frame was named MRO_HIRISE. It was + defined as zero offset frame relative to the MRO_SPACECRAFT frame. + + +MRO_HIRISE_LOOK_DIRECTION Frame Rotation Provided in FK Version 0.6 + + In the FK version 0.6 this frame was named MRO_HIRISE. It was + defined as a fixed offset frame relative to the MRO_SPACECRAFT frame + using pre-launch, ground calibrated alignment shown below. + + Combining the following Tracker 1 cube to S/C Direction Cosine + Matrix (DCM) (from [14]): + + -0.96621811 0.00025732 -0.25772564 + -0.08772412 0.93995995 0.32981780 + 0.24233665 0.34128468 -0.90818375 + + with Tracker 1 cube to HiRISE DCM (from [14]): + + -0.96607109 0.00067328 -0.25827542 + -0.08754160 0.93994921 0.32989689 + 0.24298789 0.34131369 -0.90799882 + + results in this HIRISE ``look direction'' to S/C DCM: + + 0.99999975 -0.00019674 -0.00067690 + 0.00019676 0.99999999 0.00003113 + 0.00067689 -0.00003127 0.99999978 + + which formatted as the frame definition keyword looks like this: + + TKFRAME_-74699_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74699_MATRIX = ( + 0.99999975 + 0.00019676 + 0.00067689 + -0.00019674 + 0.99999999 + -0.00003127 + -0.00067690 + 0.00003113 + 0.99999978 + ) + + +MRO_HIRISE_LOOK_DIRECTION Frame Rotation Provided in FK Version 0.7+ + + The MRO_HIRISE_LOOK_DIRECTION frame definition below includes the + following rotation with respect to the MRO_HIRISE_OPTICAL_AXIS frame + derived by combining preliminary in-flight alignment for + MRO_HIRISE_OPTICAL_AXIS frame with with pre-launch, ground + calibrated alignment for the HIRISE boresight: + + TKFRAME_-74699_RELATIVE = 'MRO_HIRISE_OPTICAL_AXIS' + TKFRAME_-74699_MATRIX = ( + 0.99996484 + 0.00020285 + 0.00838273 + -0.00019649 + 0.99999969 + -0.00075976 + -0.00838288 + 0.00075809 + 0.99996458 + ) + +MRO_HIRISE_LOOK_DIRECTION Frame Rotation Provided in FK Version 1.4+ + + The MRO_HIRISE_LOOK_DIRECTION frame definition below includes the + following rotation with respect to the MRO_HIRISE_OPTICAL_AXIS frame, + updated from the previous rotation to compensate for the change in + the orientation of the MRO_HIRISE_OPTICAL_AXIS frame in the FK 1.4 + (to keep the MRO_HIRISE_LOOK_DIRECTION frame oriented with respect to + the spacecraft frame the same way as it was in the versions 0.7-1.3 + of the FK): + + TKFRAME_-74699_RELATIVE = 'MRO_HIRISE_OPTICAL_AXIS' + TKFRAME_-74699_MATRIX = ( + 0.999964843747 + 0.000206345964 + 0.008382642316 + -0.000196487983 + 0.999999288260 + -0.001176805736 + -0.008382879179 + 0.001175117275 + 0.999964172576 + ) + + + This matrix is currently incorporated in the MRO_HIRISE_LOOK_DIRECTION + frame definition. + + \begindata + + FRAME_MRO_HIRISE_LOOK_DIRECTION = -74699 + FRAME_-74699_NAME = 'MRO_HIRISE_LOOK_DIRECTION' + FRAME_-74699_CLASS = 4 + FRAME_-74699_CLASS_ID = -74699 + FRAME_-74699_CENTER = -74 + TKFRAME_-74699_SPEC = 'MATRIX' + TKFRAME_-74699_RELATIVE = 'MRO_HIRISE_OPTICAL_AXIS' + TKFRAME_-74699_MATRIX = ( + 0.999964843747 + 0.000206345964 + 0.008382642316 + -0.000196487983 + 0.999999288260 + -0.001176805736 + -0.008382879179 + 0.001175117275 + 0.999964172576 + ) + \begintext + + +MRO_HIRISE_OPTICAL_AXIS Frame Rotation Provided in FK Versions 0.0-0.6 + + In the FK versions 0.0-0.6 this frame was named MRO_HIRISE_IF. It + was defined relative to the MRO_SPACECRAFT with single rotation of + -0.45 degrees about Y axis. This rotation rotation angle was an + error; it should have been by +0.45 degrees. + + +MRO_HIRISE_OPTICAL_AXIS Frame Rotation Provided in FK Version 0.7+ + + The MRO_HIRISE_OPTICAL_AXIS frame definition below incorporates the + following preliminary in-flight alignment with respect to the + spacecraft frame provided by Jeff Anderson, USGS on September 22, + 2005: + + TKFRAME_-74690_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74690_MATRIX = ( + 0.999970 + 0.000000 + -0.007706 + 0.000000 + 1.000000 + 0.000727 + 0.007706 + -0.000727 + 0.999970 + ) + +MRO_HIRISE_OPTICAL_AXIS Frame Rotation Provided in FK Version 1.4+ + + The MRO_HIRISE_OPTICAL_AXIS frame definition below incorporates the + updated alignment provided by Laszlo Keszthelyi, USGS on February + 12, 2009, compensating for the correction to the optical distortion + model made in 2008: + + TKFRAME_-74690_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74690_MATRIX = ( + 0.99997031 + 0.00000000 + -0.00770600 + 0.00000882 + 0.99999935 + 0.00114399 + 0.00770599 + -0.00114402 + 0.99996965 + ) + + This matrix is currently incorporated in the MRO_HIRISE_OPTICAL_AXIS + frame definition. + + \begindata + + FRAME_MRO_HIRISE_OPTICAL_AXIS = -74690 + FRAME_-74690_NAME = 'MRO_HIRISE_OPTICAL_AXIS' + FRAME_-74690_CLASS = 4 + FRAME_-74690_CLASS_ID = -74690 + FRAME_-74690_CENTER = -74 + TKFRAME_-74690_SPEC = 'MATRIX' + TKFRAME_-74690_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74690_MATRIX = ( + 0.99997031 + 0.00000000 + -0.00770600 + 0.00000882 + 0.99999935 + 0.00114399 + 0.00770599 + -0.00114402 + 0.99996965 + ) + + \begintext + + +MARCI Frames +---------- + + The following frames are defined for MARCI: + + - MARCI base frame (MRO_MARCI_BASE) -- fixed w.r.t. and rotated + by +95 degrees about +Z axis w.r.t. the MRO_SPACECRAFT frame; + + - MARCI apparent VIS FOV frame (MRO_MARCI_VIS) -- fixed w.r.t. + MRO_MARCI_BASE and nominally co-aligned with it; it has +Z + along boresight, +X along the detector lines, and +Y + completing the right hand frame; + + - MARCI apparent UV FOV frame (MRO_MARCI_UV) -- fixed w.r.t. + MRO_MARCI_BASE and nominally co-aligned with it; it has +Z + along boresight, +X along the detector lines, and +Y + completing the right hand frame; + + This diagram illustrates MARCI frames: + + . ---- . + .' `. HGA + .' `. + / \ + . .-------. . + | | o | | + . \ / . + \ \ / / + `. \ / .' + `. \ / .' + SAPX ` --o-- ' SAMX + ========================o_____H_____o======================== + | / _ \ | + | | '_' | HiRISE + |-- \___/ --| + | .-> | + ----- |o-' +Ymarci* + 5 deg |` | + .-' +Xsc <`---o ____. +Zsc and +Zmarci* + ' V\_|_/ are out of the + +Xmarci* /|\ the page + V + <------- +Ysc + Direction + of flight + + Nominally the following set of rotations can be used to align the + MRO spacecraft frame with the MARCI base frame: + + Msc->marci = [ 95.0 ]z * [ 0.0 ]y * [ 0.0 ]x + + By co-locating pixels for several overlapping images taken on + different orbits the MARCI team at MSSS derived the following + updated alignment angles (from [19]): + + Msc->marci = [ 95.5 ]z * [ 0.5 ]y * [ 0.475 ]x + + These angles are used in the MARCI base frame definition below. + + The keyword sets below define MARCI frames. Except cases were the + source of the alignment data is specifically noted, these frame + definitions incorporate the nominal alignment. + + \begindata + + FRAME_MRO_MARCI_BASE = -74400 + FRAME_-74400_NAME = 'MRO_MARCI_BASE' + FRAME_-74400_CLASS = 4 + FRAME_-74400_CLASS_ID = -74400 + FRAME_-74400_CENTER = -74 + TKFRAME_-74400_SPEC = 'ANGLES' + TKFRAME_-74400_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74400_ANGLES = ( -0.475, -0.5, -95.5 ) + TKFRAME_-74400_AXES = ( 1, 2, 3 ) + TKFRAME_-74400_UNITS = 'DEGREES' + + FRAME_MRO_MARCI_VIS = -74410 + FRAME_-74410_NAME = 'MRO_MARCI_VIS' + FRAME_-74410_CLASS = 4 + FRAME_-74410_CLASS_ID = -74410 + FRAME_-74410_CENTER = -74 + TKFRAME_-74410_SPEC = 'ANGLES' + TKFRAME_-74410_RELATIVE = 'MRO_MARCI_BASE' + TKFRAME_-74410_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74410_AXES = ( 1, 2, 3 ) + TKFRAME_-74410_UNITS = 'DEGREES' + + FRAME_MRO_MARCI_UV = -74420 + FRAME_-74420_NAME = 'MRO_MARCI_UV' + FRAME_-74420_CLASS = 4 + FRAME_-74420_CLASS_ID = -74420 + FRAME_-74420_CENTER = -74 + TKFRAME_-74420_SPEC = 'ANGLES' + TKFRAME_-74420_RELATIVE = 'MRO_MARCI_BASE' + TKFRAME_-74420_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74420_AXES = ( 1, 2, 3 ) + TKFRAME_-74420_UNITS = 'DEGREES' + + \begintext + + +MCS Frames +---------- + + The following frames are defined for MCS: + + - MCS base frame (MRO_MCS_BASE) -- fixed w.r.t., and nominally + co-aligned with the MRO_SPACECRAFT frame; the definition of + this frame incorporates instrument misalignment determined by + measuring the alignment cube orientation w.r.t. to the + spacecraft at the time of instrument installation; + + - MCS Azimuth Gimbal "Reference" position frame + (MRO_MCS_AZ_GIMBAL_REF) -- fixed w.r.t., and nominally + coalligned with the MCS_BASE frame, this frame is defined by + requiring the MRO_MCS_AZ_GIMBAL_REF +Z axis be coalligned with + the MCS Azimuth physical rotation axis, while at the same time + minimizing the angle between the MRO_MCS_BASE +X axis and the + MRO_MCS_AZ_GIMBAL_REF +X axis. + + - MCS Azimuth Gimbal frame (MRO_MCS_AZ_GIMBAL) -- rotates about + the +Z axis by AZ angle w.r.t. MCS_AZ_GIMBAL_REF frame (and, + therefore, is defined as a CK-based frame) and is co-aligned + with the MCS_AZ_GIMBAL_REF frame at an azimuth scan angle of + 180 degrees (2782 counts). + + - MCS Elevation Gimbal "Reference" position frame + (MRO_MCS_EL_GIMBAL_REF) -- fixed w.r.t., and nominally + coaligned with the MCS_AZ_GIMBAL frame, this frame is defined + by requiring the MRO_MCS_EL_GIMBAL_REF +Y axis be coaligned + with the MCS Elevation physical rotation axis, while at the + same time minimizing the angle between the MRO_MCS_AZ_GIMBAL + +Z axis and the MRO_MCS_EL_GIMBAL_REF +Z axis. + + - MCS Elevation Gimbal frame (MRO_MCS_EL_GIMBAL) -- rotates + about -Y axis by EL angle w.r.t. MCS_EL_GIMBAL_REF frame (and, + therefore, is defined as a CK-based frame) and is co-aligned + with the MCS_EL_GIMBAL_REF frame at an elevation scan angle of + 90 degrees (1891 counts). + + - MCS telescope boresight frame (MRO_MCS) -- fixed w.r.t, and + nominally coaligned with the MRO_MCS_EL_GIMBAL frame, this + frame is defined by requiring the MRO_MCS +X axis be in the + direction of the telescope boresight, and requiring that the + MRO_MCS Z axis be aligned with the detector arrays in such a + sense that, when viewing the forward limb (near the +X axis), + positive rotations about the MRO_MCS +Y axis cause Z to + increase. + + - MCS solar target frame (MRO_MCS_SOLAR_TARGET) -- fixed w.r.t. + the MRO_MCS_AZ_GIMBAL frame, is defined such that its +Z axis + is normal to the solar target plate and +Y axis is co-aligned + with the AZ_GIMBAL frame's +Y axis. This frame is rotated from + the AZ_GIMBAL frame by 15 degrees about +Y axis. + + Assuming that in (180,90) (AZ,EL) angle position the telescope + boresight is pointing along the s/c +X axis (nominal), all six MCS + frames -- BASE, AZ_GIMBAL_REF, AZ_GIMBAL, EL_GIMBAL_REF, EL_GIMBAL, and + MRO_MCS -- will be co-aligned as shown in this diagram (SOLAR_TARGET + frame is not shown): + + . ---- . + .' `. HGA + .' `. + / \ + . .-------. . + | | o | | + . \ / . + \ \ / / + `. \ / .' + `. \ / .' + SAPX ` --o-- ' SAMX + ========================o_____H_____o======================== + | / _ \ | + | | '_' | HiRISE + |-- \___/ --| + | | + +Xmcs | <----o | + | | | + <------- +Xsc <----o|____. + Direction \_|V +Ymcs +Zsc, +Zmcs + of flight /|\ and nadir are out of + V the page + +Ysc + Azimuth rotation is + about +Z + + Elevation rotation is + about +Y + + The keyword sets below define MCS frames. Except cases were the + source of the alignment data is specifically noted, these frame + definitions incorporate the nominal alignment. + + The following MCS to HIRISE Direction Cosine Matrix (DCM) was + provided in [14]: + + 0.99996956 -0.00780193 -0.00010482 + 0.00780199 0.99996939 0.00059227 + 0.00010020 -0.00059307 0.99999982 + + This DCM was provided in the MRO_MCS_BASE frame definition as the + following keyword in the FK versions 0.6 to 1.1: + + TKFRAME_-74501_MATRIX = ( + 0.99996956 + 0.00780199 + 0.00010020 + -0.00780193 + 0.99996939 + -0.00059307 + -0.00010482 + 0.00059227 + 0.99999982 + ) + + Based on the analysis on the flight data the offsets for the MCS AZ + and EL gimbals were determined with respect to the spacecraft. To + make FK consistent with these results, starting with the FK version + 1.2 the MRO_MCS_BASE frame was re-defined to be with respect to the + MRO_SPACECRAFT frame with zero offset rotation. + + Based on the analysis of the off-track observations carried out in + 2008 (see [20]), the MCS Team, JPL determined that the azimuth axis + was tilted relative to the s/c +Z axis by 0.431 degrees towards the + line 25.8 degrees off the s/c -Y axis towards the s/c +X axis. The + following set of rotations aligning the s/c frame with the MCS base + frame was incorporated into the MRO_MCS_BASE frame definition below + to account for this tilt: + + base + M = [-25.8 deg] [+0.431 deg] [+25.8 deg] + sc Z X Z + + Incorporating the tilt into the MRO_MCS_BASE frame "raised" the + frame's +X axis above the s/c XY plane, invalidating the previous + zero EL angle offset included in the definition of the + MRO_MCS_EL_GIMBAL_REF frame. To fix this, the offset was re-set from + -0.208 degrees to -0.03 degrees. + + Based on the analysis of the off-track observations carried out in + 2012 (see [21]), the MCS Team, JPL determined that the MCS base was + additionally rotated -0.118 degrees about a vector in the S/C XY + plane oriented 18.5 degrees from the -Y axis towards the +X axis. + The set of rotations in the MRO_MCS_BASE frame definition aligning + the s/c frame with the MCS base was chaged to be + + base + M = [169.913679 deg] [-0.432158 deg] [-169.914119 deg] + sc Z X Z + + to account for this additional tilt. + + In addition to tilting the base frame, the alignment of the + MRO_MCS_EL_GIMBAL_REF frame was updated to apply a -0.132 degree + correction to MCS elevation angle by changing the offset rotation + from -0.03 degrees to -0.162 degrees. + + (The frame definition below contain the opposite of these rotations + because Euler angles specified in it define transformations from MCS + base frame to the s/c frame -- see [1].) + + \begindata + + FRAME_MRO_MCS_BASE = -74501 + FRAME_-74501_NAME = 'MRO_MCS_BASE' + FRAME_-74501_CLASS = 4 + FRAME_-74501_CLASS_ID = -74501 + FRAME_-74501_CENTER = -74 + TKFRAME_-74501_SPEC = 'ANGLES' + TKFRAME_-74501_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74501_ANGLES = ( 169.914119, 0.432158, -169.913679 ) + TKFRAME_-74501_AXES = ( 3, 1, 3 ) + TKFRAME_-74501_UNITS = 'DEGREES' + + FRAME_MRO_MCS_AZ_GIMBAL_REF = -74502 + FRAME_-74502_NAME = 'MRO_MCS_AZ_GIMBAL_REF' + FRAME_-74502_CLASS = 4 + FRAME_-74502_CLASS_ID = -74502 + FRAME_-74502_CENTER = -74 + TKFRAME_-74502_SPEC = 'ANGLES' + TKFRAME_-74502_RELATIVE = 'MRO_MCS_BASE' + TKFRAME_-74502_ANGLES = ( 0.0, 0.0, -0.46 ) + TKFRAME_-74502_AXES = ( 1, 2, 3 ) + TKFRAME_-74502_UNITS = 'DEGREES' + + FRAME_MRO_MCS_AZ_GIMBAL = -74503 + FRAME_-74503_NAME = 'MRO_MCS_AZ_GIMBAL' + FRAME_-74503_CLASS = 3 + FRAME_-74503_CLASS_ID = -74503 + FRAME_-74503_CENTER = -74 + CK_-74503_SCLK = -74 + CK_-74503_SPK = -74 + + FRAME_MRO_MCS_EL_GIMBAL_REF = -74504 + FRAME_-74504_NAME = 'MRO_MCS_EL_GIMBAL_REF' + FRAME_-74504_CLASS = 4 + FRAME_-74504_CLASS_ID = -74504 + FRAME_-74504_CENTER = -74 + TKFRAME_-74504_SPEC = 'ANGLES' + TKFRAME_-74504_RELATIVE = 'MRO_MCS_AZ_GIMBAL' + TKFRAME_-74504_ANGLES = ( 0.0, -0.162, 0.0 ) + TKFRAME_-74504_AXES = ( 1, 2, 3 ) + TKFRAME_-74504_UNITS = 'DEGREES' + + FRAME_MRO_MCS_EL_GIMBAL = -74505 + FRAME_-74505_NAME = 'MRO_MCS_EL_GIMBAL' + FRAME_-74505_CLASS = 3 + FRAME_-74505_CLASS_ID = -74505 + FRAME_-74505_CENTER = -74 + CK_-74505_SCLK = -74 + CK_-74505_SPK = -74 + + FRAME_MRO_MCS = -74500 + FRAME_-74500_NAME = 'MRO_MCS' + FRAME_-74500_CLASS = 4 + FRAME_-74500_CLASS_ID = -74500 + FRAME_-74500_CENTER = -74 + TKFRAME_-74500_SPEC = 'ANGLES' + TKFRAME_-74500_RELATIVE = 'MRO_MCS_EL_GIMBAL' + TKFRAME_-74500_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74500_AXES = ( 1, 2, 3 ) + TKFRAME_-74500_UNITS = 'DEGREES' + + FRAME_MRO_MCS_SOLAR_TARGET = -74506 + FRAME_-74506_NAME = 'MRO_MCS_SOLAR_TARGET' + FRAME_-74506_CLASS = 4 + FRAME_-74506_CLASS_ID = -74506 + FRAME_-74506_CENTER = -74 + TKFRAME_-74506_SPEC = 'ANGLES' + TKFRAME_-74506_RELATIVE = 'MRO_MCS_AZ_GIMBAL' + TKFRAME_-74506_ANGLES = ( 0.0, -15.0, 0.0 ) + TKFRAME_-74506_AXES = ( 1, 2, 3 ) + TKFRAME_-74506_UNITS = 'DEGREES' + + \begintext + + +ONC Frames +---------- + + The following frame is defined for ONC: + + - ONC apparent FOV frame (MRO_ONC) -- fixed w.r.t. + MRO_SPACECRAFT and has +Z along boresight, +X along the + detector lines, and +Y completing the right hand frame; + + ONC is mounted on the -Z side of the s/c and points approximately 30 + degrees off the s/c +Y axis towards s/c -Z axis and sightly to the + +X s/c side. These diagrams illustrate the ONC frame orientation: + + +X side view: + ------------- + + HGA |`. + | \ + .'| .._ + ,' | | | +Xsc and +Xonc are + o | | | put of the page. + `-. | | | + `| '|.' + | / || + |.' |/ + o SAPX + \_==================== + \ / \_____. Nadir + \ / \___/ HiRISE ---> + .----------\. + +Yonc <. | | + `. | | + `o| +Xsc | + / .____ o----> +Zsc + / \_|_/ + V /|\ + +Zonc V + +Ysc + / | + /<---->| + 29.6 deg (projected on s/c Y-Z plane) + + + -Z side view: + ------------- + . ---- . + .' `. HGA + .' o `. + / | \ + . | . + | o | + . .' `. . + \ o' `o / + `. .' + `. .' + SAMX ` --o-- ' SAPX + ========================o_____H_____o======================== + | | + | | + |-----------| + | .>| + | .' +Xonc + | o' | + .____ x\---> +Xsc + \_|_\ + +Zsc is into /|\ V + the page V +Zonc + +Ysc + +Yonc is out + of the page | \ + |<---->\ + 5.7 deg (projected on s/c X-Y plane) + + The s/c frame can be transformed into the ONC frame in nominal + orientation by the following three rotations (derived from the + projected angles shown above): first by -119.6 degrees about +X, + second by +4.96 degrees about +Y and finally by "?" degrees about + +Z. (The third rotation is not derivable from projected angles and + is assumed to be zero.) + + Based on the cruise observations the ONC team determined the actual + ONC alignment relative to the s/c frame. According to [15] the + following rotations are required to align the s/c spacecraft frame + with the ONC frame: + + onc + M = [1.109164] [-61.065813] [169.075079] + sc Z X Y + + The definition below incorporates these rotations. + + (The frame definitions below contain the opposite of these rotations + because Euler angles specified in them define transformations from ONC + frames to the s/c frame -- see [1].) + + \begindata + + FRAME_MRO_ONC = -74030 + FRAME_-74030_NAME = 'MRO_ONC' + FRAME_-74030_CLASS = 4 + FRAME_-74030_CLASS_ID = -74030 + FRAME_-74030_CENTER = -74 + TKFRAME_-74030_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74030_SPEC = 'ANGLES' + TKFRAME_-74030_ANGLES = ( -169.075079, 61.065813, -1.109164 ) + TKFRAME_-74030_AXES = ( 2, 1, 3 ) + TKFRAME_-74030_UNITS = 'DEGREES' + + \begintext + + +SHARAD Frames +---------- + + The following frame is defined for SHARAD: + + - SHARAD frame (MRO_SHARAD) -- fixed w.r.t. MRO_SPACECRAFT and + nominally co-aligned with it; + + The keyword set below defines the SHARAD frame. In this version of + the FK it incorporates the nominal alignments. + + \begindata + + FRAME_MRO_SHARAD = -74070 + FRAME_-74070_NAME = 'MRO_SHARAD' + FRAME_-74070_CLASS = 4 + FRAME_-74070_CLASS_ID = -74070 + FRAME_-74070_CENTER = -74 + TKFRAME_-74070_SPEC = 'ANGLES' + TKFRAME_-74070_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74070_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74070_AXES = ( 1, 2, 3 ) + TKFRAME_-74070_UNITS = 'DEGREES' + + \begintext + + +MRO Antenna Frames +------------------------------------------------------------------------------- + + This section contains frame definitions for MRO antennas -- HGA, + LGA1, LGA2, and UHF. + + +High Gain Antenna Frame +----------------------- + + The HGA boresight frame -- MRO_HGA -- is defined as follows ([4],[13]): + + - Z axis is along the HGA reflector central symmetry axis (boresight + axis) and points from the reflector surface towards the feed horn; + + - X axis is parallel to the inner gimbal rotation axis and + points from the gimbal towards the antenna center; + + - Y axis completes to the right hand frame; + + - the origin of this frame is located at the intersection of the + antenna reflector symmetry axis and a plane containing HGA + reflector rim circle. + + In stowed configuration HGA boresight (+Z axis) points approximately + along S/C -Y axis (14.5 degrees off it towards +Z.) In deployed + configuration orientation of the HGA with respect to the s/c varies + as the HGA moves constantly using two gimbals to track Earth. + + +HGA Baseplate and Gimbal Drive Frames +------------------------------------- + + The frame chain for HGA includes: + + - baseplate frame that is fixed w.r.t. to the s/c frame + + - inner gimbal frame that rotates w.r.t. to the baseplate frame + + - outer gimbal frame rotates w.r.t. to the inner gimbal frame + + - boresight frame (described above) that is fixed w.r.t. to the + outer gimbal frame. + + In "0" angle position the baseplate frame, both gimbal frames, and + the boresight frame are co-aligned. + + The MRO HGA baseplate frame is defined as follows: + + - +Z axis is s/c -Z axis; + + - +Y axis is s/c -Y axis; + + - +X axis completes the right hand frame and is parallel to + the s/c +X axis + + - the origin of this frame is located at the intersection of the + inner gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the outer gimbal rotation axis. + + The MRO HGA inner gimbal frame: + + - Y axis is along the inner gimbal rotation axis; in deployed + configuration with the inner and outer gimbal angles set to + zero it points along the baseplate frame +Y axis; + + - X axis is such that in deployed configuration with + the inner and outer gimbal angles set to zero it points along + the baseplate frame +X axis; + + - Z axis completes the right hand frame and in deployed + configuration with the inner and outer gimbal angles set to + zero it points along the baseplate frame +Z axis; + + - the origin of this frame is located at the intersection of the + inner gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the outer gimbal rotation axis. + + The MRO HGA outer gimbal frame: + + - X axis is along the outer gimbal rotation axis and points + along the baseplate +X in deployed configuration with the + inner and outer gimbal angles set to zero; + + - Y axis is such that in deployed configuration with the inner + and outer gimbal angles set to zero it points along the + baseplate +Y axis; + + - Z axis completes to the right hand frame and in deployed + configuration with the inner and outer gimbal angles set to + zero it points along the baseplate +Z axis; + + - the origin of this frame is located at the intersection of the + outer gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the HGA frame origin; + + When antenna is deployed and both gimbals are in zero position, the + axes of the baseplate, inner gimbal, and outer gimbal frames are + co-aligned while the HGA frame is rotated by +90 degrees about +Z + axis with respect to them. The diagram below illustrates this: + + + | HGA Inner + . Gimbal Axis + | + + . ---- . + .' +Xhga `. HGA (shown in "0" angle + .' ^ `. position) + / | \ + . .---|---. +Yhga + | | x----> | + . \ . + \ \ ^ +Yhgabp/ + +Xhgabp \ | +Yhgaig + +Xhgaig. \| +Yhgaog + -- . -- . - +Xhgaog <----x --' SAMX + HGA Outer ======o_____H_____o======================== + Gimbal Axis | / _ \ | + | | '_' | HiRISE + |---\___/---| + | | + Direction | | + of flight | +Zsc (out of the page) + <------- <----o ____. + +Xsc \_|_/ + /|\ + V + +Ysc + + +Zhga, +Zhgabp, +Zhgaig, + and +Zhgaog are + into the page + + The gimbal frames are defined such that rotation axis designations + are consistent with [4]. + + [22] provided the following HGA baseplate DCM w.r.t. to the s/c frame + + 9.999999804376672e-01 -1.977993966601806e-04 2.295934537796784e-07 + -1.977992524732815e-04 -9.999998719444498e-01 -4.658181490872693e-04 + 3.217319645753285e-07 4.658180945613699e-04 -9.999998915066927e-01 + + and the following antenna boresight direction in the ``ideal'' HGA + frame: + + 5.221214000806500e-05 -1.497243425405999e-03 9.999988777673789e-01 + + The baseplate DCM and the rotations aligning the antenna's Z axis + with the vector above are provided in the corresponding frame + definitons below. + + +HGA Frame Definitions +--------------------- + + The sets of keywords below contain definitions for the HGA frames. + + \begindata + + FRAME_MRO_HGA_BASEPLATE = -74211 + FRAME_-74211_NAME = 'MRO_HGA_BASEPLATE' + FRAME_-74211_CLASS = 4 + FRAME_-74211_CLASS_ID = -74211 + FRAME_-74211_CENTER = -74 + TKFRAME_-74211_SPEC = 'MATRIX' + TKFRAME_-74211_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74211_MATRIX = ( + + 9.999999804376672e-01 -1.977993966601806e-04 2.295934537796784e-07 + -1.977992524732815e-04 -9.999998719444498e-01 -4.658181490872693e-04 + 3.217319645753285e-07 4.658180945613699e-04 -9.999998915066927e-01 + + ) + + FRAME_MRO_HGA_INNER_GIMBAL = -74212 + FRAME_-74212_NAME = 'MRO_HGA_INNER_GIMBAL' + FRAME_-74212_CLASS = 3 + FRAME_-74212_CLASS_ID = -74212 + FRAME_-74212_CENTER = -74 + CK_-74212_SCLK = -74 + CK_-74212_SPK = -74 + + FRAME_MRO_HGA_OUTER_GIMBAL = -74213 + FRAME_-74213_NAME = 'MRO_HGA_OUTER_GIMBAL' + FRAME_-74213_CLASS = 3 + FRAME_-74213_CLASS_ID = -74213 + FRAME_-74213_CENTER = -74 + CK_-74213_SCLK = -74 + CK_-74213_SPK = -74 + + FRAME_MRO_HGA = -74214 + FRAME_-74214_NAME = 'MRO_HGA' + FRAME_-74214_CLASS = 4 + FRAME_-74214_CLASS_ID = -74214 + FRAME_-74214_CENTER = -74 + TKFRAME_-74214_SPEC = 'ANGLES' + TKFRAME_-74214_RELATIVE = 'MRO_HGA_OUTER_GIMBAL' + TKFRAME_-74214_ANGLES = ( -0.08578576, -0.00299154, -90.0 ) + TKFRAME_-74214_AXES = ( 1, 2, 3 ) + TKFRAME_-74214_UNITS = 'DEGREES' + + \begintext + + +Low Gain Antennas +----------------- + + Both LGA boresight frames -- MRO_LGA1 and MRO_LGA2 -- are defined as + follows: + + - +Z axis is along the LGA boresight vector; + + - +Y axis is along the HGA +Y axis; + + - +X completes the right hand frame; + + - the origin of the frame is located at the center of the LGA + patch. + + Both LGAs are mounted on and do not move with respect to the HGA. + Therefore their frames are specified as fixed offset frames with + respect to the HGA boresight frame. + + According to [4] the LGA boresights point along the following directions + in HGA outer gimbal frame: + + LGA1 (truss-mounted LGA) -- (0.0, -0.422618, 0.906308) + LGA2 (TWTA-mounted LGA) -- (0.0, 0.906308, -0.422618) + + The diagram below illustrates the LGA1 and LGA2 frames: + + + ^ +Xlga1 + \ + \ + .x LGA1 HGA is shown in + +Zlga1 .-' |`. "0" angle position. + <' ^ +Xhga + | .._ +Xsc is out of the page + +Zhga | | | + <----x | | ^ +Zlga2 +Yhga, +Ylga1, and +Ylga2 + | | | / are into the page. + | '|.'/ + | LGA2 x + |.' |/ `. +Xlga2 + o `> SAPX + \_==================== + \ / \_____. + \ / \___/ HiRISE + .----------\. + | | + | | + | +Xsc | + .____ o----> +Zsc -------> + \_|_/ Nadir + /|\ + V + +Ysc + + + As seen on the diagram the LGA1 frame is rotated from the HGA frame + by -25 degrees about +Y while the LGA2 frame is rotated by +115 + degrees from HGA frame about +Y. + + (The frame definitions below contain the opposite of these rotations + because Euler angles specified in them define transformations from LGA + frames to the HGA frame -- see [1].) + + \begindata + + FRAME_MRO_LGA1 = -74220 + FRAME_-74220_NAME = 'MRO_LGA1' + FRAME_-74220_CLASS = 4 + FRAME_-74220_CLASS_ID = -74220 + FRAME_-74220_CENTER = -74 + TKFRAME_-74220_SPEC = 'ANGLES' + TKFRAME_-74220_RELATIVE = 'MRO_HGA' + TKFRAME_-74220_ANGLES = ( 0.0, 0.0, 25.0 ) + TKFRAME_-74220_AXES = ( 3, 1, 2 ) + TKFRAME_-74220_UNITS = 'DEGREES' + + FRAME_MRO_LGA2 = -74230 + FRAME_-74230_NAME = 'MRO_LGA2' + FRAME_-74230_CLASS = 4 + FRAME_-74230_CLASS_ID = -74230 + FRAME_-74230_CENTER = -74 + TKFRAME_-74230_SPEC = 'ANGLES' + TKFRAME_-74230_RELATIVE = 'MRO_HGA' + TKFRAME_-74230_ANGLES = ( 0.0, 0.0, -115.0 ) + TKFRAME_-74230_AXES = ( 3, 1, 2 ) + TKFRAME_-74230_UNITS = 'DEGREES' + + \begintext + + +UHF Antenna +----------- + + The UHF frame -- MRO_UHF -- is defined as follows: + + - +Z axis is along the antenna boresight and co-aligned with the + s/c +Z axis; + + - +Y axis is co-aligned with the s/c +Y axis; + + - +X completes the right hand frame; + + - the origin of this frame is located at the geometric center of + the antenna. + + Since UHF antenna is rigidly mounted on the s/c bus, it is defined as + a fixed offset frame co-aligned with the s/c frame. + + (The frame definition below contains the opposite of this rotation + because Euler angles specified in it define transformation from antenna + to s/c frame -- see [1].) + + \begindata + + FRAME_MRO_UHF = -74240 + FRAME_-74240_NAME = 'MRO_UHF' + FRAME_-74240_CLASS = 4 + FRAME_-74240_CLASS_ID = -74240 + FRAME_-74240_CENTER = -74 + TKFRAME_-74240_SPEC = 'ANGLES' + TKFRAME_-74240_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74240_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74240_AXES = ( 3, 2, 1 ) + TKFRAME_-74240_UNITS = 'DEGREES' + + \begintext + + +MRO Solar Array Frames +------------------------------------------------------------------------------- + + This section contains frame definitions for MRO Solar Array frames. + + +Solar Array Frames +------------------ + + Both SA frames -- MRO_SAPX and MRO_SAMX -- are defined as follows: + + - +Z axis is perpendicular to and points away from the array + solar cell side (note that this is different from [4] where + SAMX +Z axis is defined to point away from the non-cell side + of the array); + + - +X axis parallel to the long side of the array and points from + the end of the array towards the gimbal; + + - +Y axis completes the right hand frame; + + - the origin of this frame is located at the intersection of the + inner gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the outer gimbal rotation axis. + + When SAs are deployed they move constantly using two gimbals to + track Sun. + + +Solar Array Gimbal Drive Frames +------------------------------- + + The frame chain for each of the arrays includes: + + - baseplate frame that is fixed w.r.t. to the s/c frame + + - inner gimbal frame that rotates w.r.t. to the baseplate frame + + - outer gimbal frame that rotates w.r.t. to the inner gimbal + frame + + - boresight frame (described above) that is fixed w.r.t. to the + outer gimbal frame. + + When SAPX is in "0" angle position its baseplate frame, both gimbal + frames, and the boresight frame are co-aligned. When SAMX is in "0" + angle position its baseplate frame and both gimbal frames are + co-aligned while the boresight frame is rotated by 180 degrees about + +X axis w.r.t. to them. + + The MRO SAPX baseplate frame is defined as follows: + + - +Z axis is s/c -Y axis; + + - +Y axis is along the inner gimbal rotation axis and points + towards the HGA side of the deck; + + - +X axis completes the right hand frame and is along the outer + gimbal rotation axis; + + - the origin of this frame is located at the intersection of the + inner gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the outer gimbal rotation axis. + + The MRO SAMX baseplate frame is defined as follows: + + - +Z axis is s/c +Y axis; + + - +Y axis is along the inner gimbal rotation axis and points + towards HGA side of the deck; + + - +X axis completes the right hand frame and is along the outer + gimbal rotation axis; + + - the origin of this frame is located at the intersection of the + inner gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the outer gimbal rotation axis. + + The MRO SAPX and SAMX inner gimbal frame: + + - +Y axis is along the inner gimbal rotation axis; in deployed + configuration with the inner and outer gimbal angles set to + zero it points along the baseplate +Y axis; + + - +X axis is such that in deployed configuration with the inner + and outer gimbal angles set to zero it points along the + baseplate +X axis; + + - +Z axis completes to the right hand frame and in deployed + configuration wit the inner and outer gimbal angles set to + zero it points along the baseplate +Z axis; + + - the origin of this frame is located at the intersection of the + inner gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the outer gimbal rotation axis. + + The MRO SA outer gimbal frame: + + - +X axis is along the outer gimbal rotation axis and points + along the baseplate +X in deployed configuration with the + inner and outer gimbal angles set to zero; + + - +Y axis is such that in deployed configuration with + the inner and outer gimbal angles set to zero it points along + the baseplate +Y axis; + + - Z axis completes to the right hand frame and in deployed + configuration with the inner and outer gimbal angles set to + zero it points along the s/c +Z axis; + + - the origin of this frame is located at the intersection of the + outer gimbal rotation axis and a plane perpendicular to this + rotation axis and containing the solar array frame origin; + + The diagram below illustrates the solar array baseplate, gimbal and + cell-side frames in deployed "0" angle configuration: + + + .o. HGA + .' | `. + .' | `. +Zsapx** and +Zsamx + ------------------- are out of the page + `. .' + `-._______.-' +Zsamx** are into + o the page + ____/_\____ + / \ + +Ysapxbp / +Xsa*x** \ +Ysamxbp + +Ysapxig ^ ^ +Ysamxig + +Ysapxog \ .> <. / +Ysamxog + +Ysapx \ .' `. / + ..........o' `x.......... + .-' /| /|\ `-. + SAPX .-' / | +Ysamx / | \ `-. SAMX + .-\\ / |------- v -| \ //-. + .-' \\ / | | | \ // `-. + -' \\ ./ .___| |___. \. // `- + \ \\ .-' .___. `-. // / + \ \\-' HiRISE `-// / + \ .-' `-. / + \ .-' `-. / + -' +Xsc <----x +Ysc (into the page) `- + | + | + <------- V + Direction +Zsc + of flight + | + | Nadir + V + + The gimbal frames are defined such that rotation axis designations + are consistent with [4]. Also according to [4] the SAPX and SAMX + baseplate frames are rotated w.r.t. to the s/c frame as follows: + + SAPX: first by +165 degrees about +Y, then by +90 deg about +X + + SAPX: first by +15 degrees about +Y, then by -90 deg about +X + + +Solar Array Frames Definitions +----------------------------- + + Two sets of keywords below contain definitions for these frames. + + \begindata + + FRAME_MRO_SAPX_BASEPLATE = -74311 + FRAME_-74311_NAME = 'MRO_SAPX_BASEPLATE' + FRAME_-74311_CLASS = 4 + FRAME_-74311_CLASS_ID = -74311 + FRAME_-74311_CENTER = -74 + TKFRAME_-74311_SPEC = 'ANGLES' + TKFRAME_-74311_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74311_ANGLES = ( 0.0, -165.0, -90.0 ) + TKFRAME_-74311_AXES = ( 3, 2, 1 ) + TKFRAME_-74311_UNITS = 'DEGREES' + + FRAME_MRO_SAPX_INNER_GIMBAL = -74312 + FRAME_-74312_NAME = 'MRO_SAPX_INNER_GIMBAL' + FRAME_-74312_CLASS = 3 + FRAME_-74312_CLASS_ID = -74312 + FRAME_-74312_CENTER = -74 + CK_-74312_SCLK = -74 + CK_-74312_SPK = -74 + + FRAME_MRO_SAPX_OUTER_GIMBAL = -74313 + FRAME_-74313_NAME = 'MRO_SAPX_OUTER_GIMBAL' + FRAME_-74313_CLASS = 3 + FRAME_-74313_CLASS_ID = -74313 + FRAME_-74313_CENTER = -74 + CK_-74313_SCLK = -74 + CK_-74313_SPK = -74 + + FRAME_MRO_SAPX = -74314 + FRAME_-74314_NAME = 'MRO_SAPX' + FRAME_-74314_CLASS = 4 + FRAME_-74314_CLASS_ID = -74314 + FRAME_-74314_CENTER = -74 + TKFRAME_-74314_SPEC = 'ANGLES' + TKFRAME_-74314_RELATIVE = 'MRO_SAPX_OUTER_GIMBAL' + TKFRAME_-74314_ANGLES = ( 0.0, 0.0, 0.0 ) + TKFRAME_-74314_AXES = ( 3, 2, 1 ) + TKFRAME_-74314_UNITS = 'DEGREES' + + FRAME_MRO_SAMX_BASEPLATE = -74321 + FRAME_-74321_NAME = 'MRO_SAMX_BASEPLATE' + FRAME_-74321_CLASS = 4 + FRAME_-74321_CLASS_ID = -74321 + FRAME_-74321_CENTER = -74 + TKFRAME_-74321_SPEC = 'ANGLES' + TKFRAME_-74321_RELATIVE = 'MRO_SPACECRAFT' + TKFRAME_-74321_ANGLES = ( 0.0, -15.0, 90.0 ) + TKFRAME_-74321_AXES = ( 3, 2, 1 ) + TKFRAME_-74321_UNITS = 'DEGREES' + + FRAME_MRO_SAMX_INNER_GIMBAL = -74322 + FRAME_-74322_NAME = 'MRO_SAMX_INNER_GIMBAL' + FRAME_-74322_CLASS = 3 + FRAME_-74322_CLASS_ID = -74322 + FRAME_-74322_CENTER = -74 + CK_-74322_SCLK = -74 + CK_-74322_SPK = -74 + + FRAME_MRO_SAMX_OUTER_GIMBAL = -74323 + FRAME_-74323_NAME = 'MRO_SAMX_OUTER_GIMBAL' + FRAME_-74323_CLASS = 3 + FRAME_-74323_CLASS_ID = -74323 + FRAME_-74323_CENTER = -74 + CK_-74323_SCLK = -74 + CK_-74323_SPK = -74 + + FRAME_MRO_SAMX = -74324 + FRAME_-74324_NAME = 'MRO_SAMX' + FRAME_-74324_CLASS = 4 + FRAME_-74324_CLASS_ID = -74324 + FRAME_-74324_CENTER = -74 + TKFRAME_-74324_SPEC = 'ANGLES' + TKFRAME_-74324_RELATIVE = 'MRO_SAMX_OUTER_GIMBAL' + TKFRAME_-74324_ANGLES = ( 0.0, 0.0, 180.0 ) + TKFRAME_-74324_AXES = ( 3, 2, 1 ) + TKFRAME_-74324_UNITS = 'DEGREES' + + \begintext + + +Mars Reconnaissance Orbiter NAIF ID Codes -- Definitions +======================================================================== + + This section contains name to NAIF ID mappings for the MRO mission. + Once the contents of this file is loaded into the KERNEL POOL, these + mappings become available within SPICE, making it possible to use + names instead of ID code in the high level SPICE routine calls. + + Spacecraft: + ----------- + + MARS RECONNAISSANCE ORBITER -74 + MRO -74 + MRO_SPACECRAFT -74000 + MRO_SPACECRAFT_BUS -74000 + MRO_SC_BUS -74000 + + Science Instruments: + -------------------- + + MRO_CRISM -74010 + MRO_CRISM_VNIR -74017 + MRO_CRISM_IR -74018 + + MRO_CTX -74021 + + MRO_HIRISE -74699 + MRO_HIRISE_CCD0 -74600 + MRO_HIRISE_CCD1 -74601 + MRO_HIRISE_CCD2 -74602 + MRO_HIRISE_CCD3 -74603 + MRO_HIRISE_CCD4 -74604 + MRO_HIRISE_CCD5 -74605 + MRO_HIRISE_CCD6 -74606 + MRO_HIRISE_CCD7 -74607 + MRO_HIRISE_CCD8 -74608 + MRO_HIRISE_CCD9 -74609 + MRO_HIRISE_CCD10 -74610 + MRO_HIRISE_CCD11 -74611 + MRO_HIRISE_CCD12 -74612 + MRO_HIRISE_CCD13 -74613 + + MRO_MARCI -74400 + MRO_MARCI_VIS -74410 + MRO_MARCI_VIS_BLUE -74411 + MRO_MARCI_VIS_GREEN -74412 + MRO_MARCI_VIS_ORANGE -74413 + MRO_MARCI_VIS_RED -74414 + MRO_MARCI_VIS_NIR -74415 + MRO_MARCI_UV -74420 + MRO_MARCI_UV_SHORT_UV -74421 + MRO_MARCI_UV_LONG_UV -74422 + + MRO_MCS -74500 + MRO_MCS_A -74510 + MRO_MCS_A1 -74511 + MRO_MCS_A2 -74512 + MRO_MCS_A3 -74513 + MRO_MCS_A4 -74514 + MRO_MCS_A5 -74515 + MRO_MCS_A6 -74516 + MRO_MCS_B -74520 + MRO_MCS_B1 -74521 + MRO_MCS_B2 -74522 + MRO_MCS_B3 -74523 + + MRO_ONC -74030 + + MRO_SHARAD -74070 + + Antennas: + --------- + + MRO_HGA_BASEPLATE -74211 + MRO_HGA_INNER_GIMBAL -74212 + MRO_HGA_OUTER_GIMBAL -74213 + MRO_HGA -74214 + MRO_LGA1 -74220 + MRO_LGA2 -74230 + MRO_UHF -74240 + + Solar Arrays: + ------------- + + MRO_SAPX_BASEPLATE -74311 + MRO_SAPX_INNER_GIMBAL -74312 + MRO_SAPX_OUTER_GIMBAL -74313 + MRO_SAPX -74314 + MRO_SAPX_C1 -74315 + MRO_SAPX_C2 -74316 + MRO_SAPX_C3 -74317 + MRO_SAPX_C4 -74318 + + MRO_SAMX_BASEPLATE -74321 + MRO_SAMX_INNER_GIMBAL -74322 + MRO_SAMX_OUTER_GIMBAL -74323 + MRO_SAMX -74324 + MRO_SAMX_C1 -74325 + MRO_SAMX_C2 -74326 + MRO_SAMX_C3 -74327 + MRO_SAMX_C4 -74328 + + The mappings summarized in this table are implemented by the keywords + below. + + \begindata + + NAIF_BODY_NAME += ( 'MARS RECONNAISSANCE ORBITER' ) + NAIF_BODY_CODE += ( -74 ) + + NAIF_BODY_NAME += ( 'MRO' ) + NAIF_BODY_CODE += ( -74 ) + + NAIF_BODY_NAME += ( 'MRO_SPACECRAFT' ) + NAIF_BODY_CODE += ( -74000 ) + + NAIF_BODY_NAME += ( 'MRO_SPACECRAFT_BUS' ) + NAIF_BODY_CODE += ( -74000 ) + + NAIF_BODY_NAME += ( 'MRO_SC_BUS' ) + NAIF_BODY_CODE += ( -74000 ) + + NAIF_BODY_NAME += ( 'MRO_CRISM' ) + NAIF_BODY_CODE += ( -74010 ) + + NAIF_BODY_NAME += ( 'MRO_CRISM_VNIR' ) + NAIF_BODY_CODE += ( -74017 ) + + NAIF_BODY_NAME += ( 'MRO_CRISM_IR' ) + NAIF_BODY_CODE += ( -74018 ) + + NAIF_BODY_NAME += ( 'MRO_CTX' ) + NAIF_BODY_CODE += ( -74021 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE' ) + NAIF_BODY_CODE += ( -74699 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD0' ) + NAIF_BODY_CODE += ( -74600 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD1' ) + NAIF_BODY_CODE += ( -74601 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD2' ) + NAIF_BODY_CODE += ( -74602 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD3' ) + NAIF_BODY_CODE += ( -74603 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD4' ) + NAIF_BODY_CODE += ( -74604 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD5' ) + NAIF_BODY_CODE += ( -74605 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD6' ) + NAIF_BODY_CODE += ( -74606 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD7' ) + NAIF_BODY_CODE += ( -74607 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD8' ) + NAIF_BODY_CODE += ( -74608 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD9' ) + NAIF_BODY_CODE += ( -74609 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD10' ) + NAIF_BODY_CODE += ( -74610 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD11' ) + NAIF_BODY_CODE += ( -74611 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD12' ) + NAIF_BODY_CODE += ( -74612 ) + + NAIF_BODY_NAME += ( 'MRO_HIRISE_CCD13' ) + NAIF_BODY_CODE += ( -74613 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI' ) + NAIF_BODY_CODE += ( -74400 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_VIS' ) + NAIF_BODY_CODE += ( -74410 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_VIS_BLUE' ) + NAIF_BODY_CODE += ( -74411 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_VIS_GREEN' ) + NAIF_BODY_CODE += ( -74412 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_VIS_ORANGE' ) + NAIF_BODY_CODE += ( -74413 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_VIS_RED' ) + NAIF_BODY_CODE += ( -74414 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_VIS_NIR' ) + NAIF_BODY_CODE += ( -74415 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_UV' ) + NAIF_BODY_CODE += ( -74420 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_UV_SHORT_UV' ) + NAIF_BODY_CODE += ( -74421 ) + + NAIF_BODY_NAME += ( 'MRO_MARCI_UV_LONG_UV' ) + NAIF_BODY_CODE += ( -74422 ) + + NAIF_BODY_NAME += ( 'MRO_MCS' ) + NAIF_BODY_CODE += ( -74500 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A' ) + NAIF_BODY_CODE += ( -74510 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A1' ) + NAIF_BODY_CODE += ( -74511 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A2' ) + NAIF_BODY_CODE += ( -74512 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A3' ) + NAIF_BODY_CODE += ( -74513 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A4' ) + NAIF_BODY_CODE += ( -74514 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A5' ) + NAIF_BODY_CODE += ( -74515 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_A6' ) + NAIF_BODY_CODE += ( -74516 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_B' ) + NAIF_BODY_CODE += ( -74520 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_B1' ) + NAIF_BODY_CODE += ( -74521 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_B2' ) + NAIF_BODY_CODE += ( -74522 ) + + NAIF_BODY_NAME += ( 'MRO_MCS_B3' ) + NAIF_BODY_CODE += ( -74523 ) + + NAIF_BODY_NAME += ( 'MRO_ONC' ) + NAIF_BODY_CODE += ( -74030 ) + + NAIF_BODY_NAME += ( 'MRO_SHARAD' ) + NAIF_BODY_CODE += ( -74070 ) + + NAIF_BODY_NAME += ( 'MRO_HGA_BASEPLATE' ) + NAIF_BODY_CODE += ( -74211 ) + + NAIF_BODY_NAME += ( 'MRO_HGA_INNER_GIMBAL' ) + NAIF_BODY_CODE += ( -74212 ) + + NAIF_BODY_NAME += ( 'MRO_HGA_OUTER_GIMBAL' ) + NAIF_BODY_CODE += ( -74213 ) + + NAIF_BODY_NAME += ( 'MRO_HGA' ) + NAIF_BODY_CODE += ( -74214 ) + + NAIF_BODY_NAME += ( 'MRO_LGA1' ) + NAIF_BODY_CODE += ( -74220 ) + + NAIF_BODY_NAME += ( 'MRO_LGA2' ) + NAIF_BODY_CODE += ( -74230 ) + + NAIF_BODY_NAME += ( 'MRO_UHF' ) + NAIF_BODY_CODE += ( -74240 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_BASEPLATE' ) + NAIF_BODY_CODE += ( -74311 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_INNER_GIMBAL' ) + NAIF_BODY_CODE += ( -74312 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_OUTER_GIMBAL' ) + NAIF_BODY_CODE += ( -74313 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX' ) + NAIF_BODY_CODE += ( -74314 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_C1' ) + NAIF_BODY_CODE += ( -74315 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_C2' ) + NAIF_BODY_CODE += ( -74316 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_C3' ) + NAIF_BODY_CODE += ( -74317 ) + + NAIF_BODY_NAME += ( 'MRO_SAPX_C4' ) + NAIF_BODY_CODE += ( -74318 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_BASEPLATE' ) + NAIF_BODY_CODE += ( -74321 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_INNER_GIMBAL' ) + NAIF_BODY_CODE += ( -74322 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_OUTER_GIMBAL' ) + NAIF_BODY_CODE += ( -74323 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX' ) + NAIF_BODY_CODE += ( -74324 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_C1' ) + NAIF_BODY_CODE += ( -74325 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_C2' ) + NAIF_BODY_CODE += ( -74326 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_C3' ) + NAIF_BODY_CODE += ( -74327 ) + + NAIF_BODY_NAME += ( 'MRO_SAMX_C4' ) + NAIF_BODY_CODE += ( -74328 ) + + \begintext diff --git a/docs/getting-started/data/image_to_ground/naif0012.tls b/docs/getting-started/data/image_to_ground/naif0012.tls new file mode 100644 index 0000000000000000000000000000000000000000..e1afdee1b626e01a3f1b04ef8a43154e83972e56 --- /dev/null +++ b/docs/getting-started/data/image_to_ground/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/docs/getting-started/data/image_to_ground/pck00008.tpc b/docs/getting-started/data/image_to_ground/pck00008.tpc new file mode 100755 index 0000000000000000000000000000000000000000..cd1592038973a4d9b22412d031e735454ffcb32b --- /dev/null +++ b/docs/getting-started/data/image_to_ground/pck00008.tpc @@ -0,0 +1,3415 @@ +KPL/PCK + +\beginlabel +PDS_VERSION_ID = PDS3 +RECORD_TYPE = STREAM +RECORD_BYTES = "N/A" +^SPICE_KERNEL = "pck00008.tpc" +MISSION_NAME = "MARS RECONNAISSANCE ORBITER" +SPACECRAFT_NAME = "MARS RECONNAISSANCE ORBITER" +DATA_SET_ID = "MRO-M-SPICE-6-V1.0" +KERNEL_TYPE_ID = PCK +PRODUCT_ID = "pck00008.tpc" +PRODUCT_CREATION_TIME = 2007-06-05T13:50:45 +PRODUCER_ID = "NAIF/JPL" +MISSION_PHASE_NAME = "N/A" +PRODUCT_VERSION_TYPE = ACTUAL +PLATFORM_OR_MOUNTING_NAME = "N/A" +START_TIME = "N/A" +STOP_TIME = "N/A" +SPACECRAFT_CLOCK_START_COUNT = "N/A" +SPACECRAFT_CLOCK_STOP_COUNT = "N/A" +TARGET_NAME = MARS +INSTRUMENT_NAME = "N/A" +NAIF_INSTRUMENT_ID = "N/A" +SOURCE_PRODUCT_ID = "N/A" +NOTE = "See comments in the file for details" +OBJECT = SPICE_KERNEL + INTERCHANGE_FORMAT = ASCII + KERNEL_TYPE = TARGET_CONSTANTS + DESCRIPTION = "Generic SPICE PCK file containing constants +from the IAU 2000 report, created by NAIF, JPL. " +END_OBJECT = SPICE_KERNEL +\endlabel + + +P_constants (PcK) SPICE kernel file +=========================================================================== + + By: Nat Bachman (NAIF) 2004 September 21 + + +File Organization +-------------------------------------------------------- + + The contents of this file are as follows. + + Introductory Information: + + -- File Organization + + -- Version description + + -- Disclaimer + + -- Sources + + -- Explanation + + -- 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 Gaspra, Ida, + Vesta, and Eros + + + Radii of Bodies + --------------- + + -- Radii of Sun and planets + + -- Radii of satellites, where available + + -- Radii of asteroids Gaspra, Ida, Kleopatra, and Eros + + + +Version description +-------------------------------------------------------- + + This file was created on September 21, 2004. This version + incorporates data from reference [2]: "Report of the IAU/IAG + Working Group on Cartographic Coordinates and Rotational Elements + of the Planets and Satellites: 2000." Note that the 2003 + version of this report is as yet unpublished. + + This file contains size, shape, and orientation data for all + objects described by the previous version of the file, plus data + for the asteroids Vesta, Kleopatra, and Eros. + + +Disclaimer +-------------------------------------------------------- + + +Applicability of Data + + This constants file may not contain the parameter values that + you prefer. Note that this file may be readily modified by + you or anyone else. NAIF suggests that you inspect this file + visually before proceeding with any critical or extended + data processing. + +File Modifications by Users + + NAIF requests that you update the "by line" and date if you + modify this file. + +Known Limitations and Caveats + + In general, the orientation models given here are claimed by the + IAU/IAG Working Group Report [2] to be accurate to 0.1 degree + ([2], p.85). 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. + + + NAIF strongly cautions against using the earth rotation model + (from [2]) given here 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 section 335 produces a new + earth orientation parameter (EOP) file, a new PCK is produced. + These PCKs cover a 12-month time span starting about nine + months prior to the current date. 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 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 back to 1972 + and *low accuracy* predicted earth orientation to 2023 are also + available in the same location. + + How does the rotation model used in the long term predict + binary earth PCK compare to that used in this file? Because of + the unpredictability of the earth's orientation, in particular + of its spin, it's not possible to answer with certainty. + However, we can make these observations: + + - The long term predict binary PCK presumably does a better + job of predicting the orientation of the earth's equator + since the binary PCK accounts for nutation and the model + from [2] does not. + + - The prime meridian error in the model from [2] amounts + to, at a minimum, about 10 seconds of rotation. It should + take years for the spin error of the binary long term + predict PCK to grow as large. + + Characteristics and names of the binary kernels described here + are subject to change. Contact NAIF for details concerning + binary earth PCKs. + + + 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 the geomagnetic field model + from which these values were derived, including a discussion of + the model's accuracy, see [13]. + + + The Mars prime meridian offset given by [10] 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. + + + SPICE Toolkits prior to version N0057 cannot make use of + trigonometric polynomial terms in the formulas for orientation of + the planets. The only planet for which such terms are used is + Neptune. Use of trigonometric polynomial terms for natural + satellites is and has been supported for all SPICE Toolkit + versions. + + + + + +Sources +-------------------------------------------------------- + + The sources for the constants listed in this file are: + + [1] 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," Unpublished. + + [2] Seidelmann, P.K., Abalakin, V.K., Bursa, M., Davies, M.E., + Bergh, C. de, Lieske, J.H., Oberst, J., Simon, J.L., + Standish, E.M., Stooke, P., and Thomas, P.C. (2002). + "Report of the IAU/IAG Working Group on Cartographic + Coordinates and Rotational Elements of the Planets and + Satellites: 2000," Celestial Mechanics and Dynamical + Astronomy, v.82, Issue 1, pp. 83-111. + + [3] Davies, M.E., Abalakin, V.K., Bursa, M., Kinoshita, H., + Kirk, R.L., Lieske, J.H., Marov, M.Ya., Seidelmann, P.K., + and Simon, J.-L. "Report of the IAU/IAG/COSPAR Working + Group on Cartographic Coordinates and Rotational Elements + of the Planets and Satellites: 1997," Unpublished. + + [4] Davies, M.E., Abalakin, V.K., Bursa, M., Lieske, J.H., + Morando, B., Morrison, D., Seidelmann, P.K., Sinclair, + A.T., Yallop, B., and Tjuflin, Y.S. (1996). "Report of + the IAU/IAG/COSPAR Working Group on Cartographic + Coordinates and Rotational Elements of the Planets and + Satellites: 1994," Celestial Mechanics and Dynamical + Astronomy, v.63, pp. 127-148. + + [5] Davies, M.E., Abalakin, V.K., Brahic, A., Bursa, M., + Chovitz., B.H., Lieske, J.H., Seidelmann, P.K., + Sinclair, A.T., and Tiuflin, I.S. (1992). "Report of the + IAU/IAG/COSPAR Working Group on Cartographic Coordinates + and Rotational Elements of the Planets and Satellites: + 1991," Celestial Mechanics and Dynamical Astronomy, + v.53, no.4, pp. 377-397. + + [6] 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. + + [7] Nautical Almanac Office, United States Naval Observatory + and H.M. Nautical Almanac Office, Rutherford Appleton + Laboratory (2005). "The Astronomical Almanac for + the Year 2005," U.S. Government Printing Office, + Washington, D.C.: and The Stationary Office, London. + + [8] 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. + + [9] Duxbury, Thomas C. (2001). "IAU/IAG 2000 Mars Cartographic + Conventions," presentation to the Mars Express Data + Archive Working Group, Dec. 14, 2001. + + [10] Russell, C.T. and Luhmann, J.G. (1990). "Earth: Magnetic + Field and Magnetosphere." <http://www-ssc.igpp.ucla. + edu/personnel/russell/papers/earth_mag>. Originally + published in "Encyclopedia of Planetary Sciences," J.H. + Shirley and R.W. Fainbridge, eds. Chapman and Hall, + New York, pp 208-211. + + [11] Russell, C.T. (1971). "Geophysical Coordinate + Transformations," Cosmic Electrodynamics 2 184-186. + NAIF document 181.0. + + [12] ESA/ESTEC Space Environment Information System (SPENVIS) + (2003). Web page: "Dipole approximations of the + geomagnetic field." <http://www.spenvis.oma.be/spenvis/ + help/background/magfield/cd.html>. + + [13] International Association of Geomagnetism and Aeronomy + and International Union of Geodesy and Geophysics (2004). + Web page: "The 9th Generation International Geomagnetic + Reference Field." <http://www.ngdc.noaa.gov/ + IAGA/vmod/igrf.html>. + + [14] Duxbury, Thomas C. (1979). "Planetary Geodetic Control + Using Satellite Imaging," Journal of Geophysical Research, + vol. 84, no. B3. This paper is cataloged as NAIF + document 190.0. + + [15] Letter from Thomas C. Duxbury to Dr. Ephraim Lazeryevich + Akim, Keldish Institute of Applied Mathematics, USSR + Academy of Sciences, Moscow, USSR. This letter is + cataloged as NAIF document number 195.0. + + [16] "Placeholder" values were supplied by NAIF for some radii + of the bodies listed below: + + Body NAIF ID code + ---- ------------ + Metis 516 + Helene 612 + Larissa 807 + + See the discussion below for further information. + + + Most values are from [2]. All exceptions are + commented where they occur in this file. The exceptions are: + + + -- Radii for the Sun are from [7]. + + -- 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. + + -- For several satellites, the 2000 IAU report either gives + a single radius value or a polar radius and a single + equatorial radius. SPICE Toolkit software that uses body + radii expects to find three radii whenever these data are + read from the kernel pool. In the cases listed below, + NAIF has used the mean radius value for all three radii. + Wherever this was done, the fact has been noted. + + The affected satellites are: + + Body NAIF ID code + ---- ------------ + Metis 516 + Helene 612 + Larissa 807 + + -- Earth north geomagnetic centered dipole values are from + [12]. The article [10] was used to check most of + these values, and the values were also re-computed from + the 9th generation IGRF [13] by Nat Bachman. + + -- The Mars prime meridian offset angle is from [9]. + + + "Old values" listed are from the SPICE P_constants file + dated April 24, 2000. Most of these values came from the + 1994 IAU report [4]. + + + + +Explanation +-------------------------------------------------------- + + The SPICE Toolkit software that uses this file is documented in + the SPICE "Required Reading" file pck.req. For a terse + description of the PCK file format, see the section below titled + "File Format." See the SPICE "Required Reading" file 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. + + 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, and satellites. 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. + + +File Format + + 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 token shown + here 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 comment block + 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 + sign 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 make the file unreadable by + SPICE software. + + +Time systems and reference frames + + The 2000 IAU/IAG Working Group Report [1] states that, to the + accuracy of the formulas given, the time system used may be + regarded as any of TDB (Barycentric Dynamical Time), TT + (Terrestrial time, formerly called TDT), or T_eph (the independent + variable of the JPL planetary ephemerides). Reference [2], from + which most data in this report were taken, erroneously identifies + the time system as TCB (Barycentric Coordinate Time). + + SPICE software treats the time system used in this file as T_eph, + but for historical reasons SPICE documentation refers to the time + system as both "ET" and "TDB." For consistency, documentation in + this version of the file retains use of the name TDB. + + The origin of the time system is 2000 January 1 12:00: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. + + The inertial reference frame used for the rotational elements in + this file is identified by [1] as the ICRF (International + Celestial Reference Frame). In this file, the frame is treated + as J2000. 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 + body orientation. To be precise, the Euler angles 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 J2000 (also called "EME2000"), but other + frames can be specified in the file. See the PCK Required Reading + for details. + + The first two angles, in order, are the J2000 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 the Sun and planets, 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. Some + coefficients may be zero. Currently Neptune is the only planet + for which trigonometric polynomial terms are used. + + 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. + + Example: 1991 IAU Model for orientation of the Earth. Note that + these values are used as an example only; see the data area below + for current values. + + + alpha = 0.00 - 0.641 T ( RA ) + 0 + + delta = 90.0 - 0.557 T ( DEC ) + 0 + + W = 190.16 + 360.9856235 d ( Prime meridian ) + + + T represents centuries past J2000 ( TDB ), + + d represents days past J2000 ( TDB ). + + In this file, the polynomials' coefficients above are assigned to the + symbols + + BODY399_POLE_RA + BODY399_POLE_DEC + BODY399_POLE_PM + + as follows: + + BODY399_POLE_RA = ( 0. -0.641 0. ) + BODY399_POLE_DEC = ( 90. -0.557 0. ) + BODY399_PM = ( 190.16 360.9856235 0. ) + + Note the number "399"; this is the NAIF ID code for the Earth. + + You'll see an additional symbol grouped with the ones listed here; it + is + + BODY399_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 and the prime meridian + of the body. + + Expressions for satellites are a little more complicated; in addition + to polynomial terms, there are 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." + + In this file, the polynomial expressions for the nutation precession + angles are listed along with the planet's RA, DEC, and prime meridian + terms. + + Example: 1991 IAU nutation precession angles for Earth. Note that these + values are used as an example only; see the data area below for current + values. + + E1 = 125.045 - 0.052992 d + E2 = 250.090 - 0.105984 d + E3 = 260.008 + 13.012001 d + E4 = 176.625 + 13.340716 d + E5 = 357.529 + 0.985600 d + + d represents days past J2000 ( TDB ) + + Because the SPICE Toolkit software expects the time units for the + angles to be CENTURIES (as in the IAU models for most bodies--the + Earth is an exception), the linear coefficients are scaled by + 36525.0 (days/century) in the assignments: + + BODY3_NUT_PREC_ANGLES = ( 125.045 -1935.5328 + 250.090 -3871.0656 + 260.008 475263.336525 + 176.625 487269.6519 + 357.529 35999.04 ) + + As stated above, the satellite orientation models use polynomial and + trigonometric terms, where the arguments of the trigonometric terms + are the "nutation precession angles." + + Example: 1988 IAU values for the Moon. Again, these values are used + as an example only; see the data area below for current values. + + + alpha = 270.000 + 0.003 T - 3.878 sin(E1) - 0.120 sin(E2) + 0 + + 0.070 sin(E3) - 0.017 sin(E4) (RA) + + + delta = 66.541 + 0.013 T + 1.543 cos(E1) + 0.024 cos(E2) + 0 + - 0.028 cos(E3) + 0.007 cos(E4) (DEC) + + + W = 38.317 + 13.1763582 d + 3.558 sin(E1) + + + 0.121 sin(E2) + + - 0.064 sin(E3) + + + 0.016 sin(E4) + + + 0.025 sin(E5) ( Prime + meridian ) + + d represents days past J2000. + + E1--E5 are the nutation precession angles. + + The polynomial terms are assigned to symbols by the statements + + BODY301_POLE_RA = ( 270.000 0.003 0. ) + BODY301_POLE_DEC = ( 66.541 0.013 0. ) + BODY301_PM = ( 38.317 13.1763582 0. ) + + The coefficients of the trigonometric terms are assigned to symbols by + the statements + + BODY301_NUT_PREC_RA = ( -3.878 -0.120 0.070 -0.017 0. ) + BODY301_NUT_PREC_DEC = ( 1.543 0.024 -0.028 0.007 0. ) + BODY301_NUT_PREC_PM = ( 3.558 0.121 -0.064 0.016 0.025 ) + + Note that for the RA and PM (prime meridian) assignments, the ith term + is the coefficient of sin(Ei) in the expression used in the IAU model, + while for the DEC assignment, the ith term is the coefficient of + cos(Ei) in the expression used in the IAU model. + + 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 2000 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 + + While not relevant to the P_constants kernel, we note here for + completeness that 0 is used to represent the solar system + barycenter. + + 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 + + + 2000004 Asteroid Vesta + 2000216 Asteroid Kleopatra + 2000433 Asteroid Eros + 2431010 Asteroid Ida + 9511010 Asteroid Gaspra + + +Orientation constants for the Sun and planets +-------------------------------------------------------- + + +Sun + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + +Mercury + + Old values: + + body199_pole_ra = ( 281.01, -0.033, 0. ) + body199_pole_dec = ( 61.45, -0.005, 0. ) + body199_pm = ( 329.55 6.1385025 0. ) + + body199_long_axis = ( 0. ) + + + 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 2000 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 shown are from the 1994 IAU report [4]. + + body399_pole_ra = ( 0. -0.641 0. ) + body399_pole_dec = ( 90. -0.557 0. ) + body399_pm = ( 190.16 360.9856235 0. ) + body399_long_axis = ( 0. ) + + Nutation precession angles are unchanged in the 2000 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 [11]. 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 [12], 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 [10], [12], and [13] 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 [12]. 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 shown are from the 1994 IAU report [4]. + + body499_pole_ra = ( 317.681 -0.108 0. ) + body499_pole_dec = ( 52.886 -0.061 0. ) + body499_pm = ( 176.901 350.8919830 0. ) + + Nutation precession angles are unchanged in the 2000 IAU report. + + Old lambda_a values were specified as POSITIVE WEST LONGITUDE. + Reference [14] gave the value + + body499_long_axis = ( 110. ) + + and reference [15] gave the value + + body499_long_axis = ( 104.9194 ) + + + 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 [9] 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 + [2] gives equal values for both equatorial radii, so the + lambda_a offset does not apply to the IAU model. + + The 2000 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: + + 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.25 +2382.6 + 113.35 +6070.0 + 146.64 +182945.8 + 49.24 +90274.4 ) + + Current values: + + The number of nutation precession angles is ten. The ninth and + tenth are twice the first and second, respectively. + + \begindata + + + 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 ) + \begintext + + +Saturn + + Old values: + + Values are unchanged in the 2000 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 2000 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 2000 IAU report. However, + the kernel variables used to store the values have changed. + See note immediately below. + + Current values: + + The kernel variables + + BODY899_NUT_PREC_RA + BODY899_NUT_PREC_DEC + BODY899_NUT_PREC_PM + + are new in this PCK version (dated October 17, 2003). + These variables capture trigonometric terms in the expressions + for Neptune's pole direction and prime meridian location. + Version N0057 of the SPICE Toolkit uses these variables; + earlier versions can read them but ignore them when + computing Neptune's orientation. + + \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 unchanged in the 2000 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + + +Orientation constants for the satellites +-------------------------------------------------------- + + +Satellites of Earth + + Old values: + + Values are from the 1988 IAU report. + + body301_pole_ra = ( 270.000 0. 0. ) + body301_pole_dec = ( 66.534 0. 0. ) + body301_pm = ( 38.314 13.1763581 0. ) + body301_long_axis = ( 0. ) + + body301_nut_prec_ra = ( -3.878 -0.120 0.070 -0.017 0. ) + body301_nut_prec_dec = ( 1.543 0.024 -0.028 0.007 0. ) + body301_nut_prec_pm = ( 3.558 0.121 -0.064 0.016 0.025 ) + + 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.0072 0. 0. + 0. -0.0052 0. 0. + 0.0043 ) + + BODY301_NUT_PREC_DEC = ( 1.5419 0.0239 -0.0278 0.0068 + 0. -0.0029 0.0009 0. + 0. 0.0008 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 ) + + 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 2000 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. 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 2000 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 2000 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: + + 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: + + body503_pole_ra = ( 268.20 -0.009 0. ) + body503_pole_dec = ( +64.57 +0.003 0. ) + body503_pm = ( 44.04 +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 ) + + 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: + + body504_pole_ra = ( 268.72 -0.009 0. ) + body504_pole_dec = ( +64.83 +0.003 0. ) + body504_pm = ( 259.73 +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 ) + + 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 unchanged in the 2000 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + Janus + + + Old values: + + Values are unchanged in the 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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. 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 2000 report [2] states that values for Nereid are not + given because Nereid is not in synchronous rotation with Neptune + (note (j), p.99). + + + + Naiad + + Old values: + + Values are unchanged in the 2000 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 2000 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 2000 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 2000 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 2000 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 2000 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 unchanged in the 2000 IAU report. + + Current values: + + \begindata + + 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. ) + + \begintext + + + +Orientation constants for Asteroids Gaspra, Ida, Vesta, and Eros +-------------------------------------------------------- + + +Gaspra + + Old values: + + Values are unchanged in the 2000 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 + + +Ida + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY2431010_POLE_RA = ( 348.76 0. 0. ) + BODY2431010_POLE_DEC = ( 87.12 0. 0. ) + BODY2431010_PM = ( 265.95 -1864.6280070 0. ) + BODY2431010_LONG_AXIS = ( 0. ) + + \begintext + + +Vesta + + 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 + + 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 + + + + +Radii of Sun and Planets +-------------------------------------------------------- + + +Sun + + Value for the Sun is from the [7], page K7. + + \begindata + + BODY10_RADII = ( 696000. 696000. 696000. ) + + \begintext + + +Mercury + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY199_RADII = ( 2439.7 2439.7 2439.7 ) + + \begintext + + +Venus + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY299_RADII = ( 6051.8 6051.8 6051.8 ) + + \begintext + + +Earth + + Old values: + + Values are unchanged in the 2000 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 2000 IAU report. + + Current values: + + \begindata + + BODY599_RADII = ( 71492 71492 66854 ) + + \begintext + + + +Saturn + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY699_RADII = ( 60268 60268 54364 ) + + \begintext + + + +Uranus + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY799_RADII = ( 25559 25559 24973 ) + + \begintext + + + +Neptune + + Old values: + + Values are unchanged in the 2000 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 2000 IAU report. + + Current values: + + \begindata + + BODY999_RADII = ( 1195 1195 1195 ) + + \begintext + + + + +Radii of Satellites +-------------------------------------------------------- + + +Moon + + Old values: + + Values are unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY301_RADII = ( 1737.4 1737.4 1737.4 ) + + \begintext + + + +Satellites of Mars + + Old values: + + Values are unchanged in the 2000 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: + + Old values for Io, Europa, Ganymede, Callisto and Amalthea. + These are from the 1997 IAU report. + + body501_radii = ( 1826. 1815. 1812. ) + body502_radii = ( 1562. 1560. 1559. ) + body503_radii = ( 2635. 2633. 2633. ) + body504_radii = ( 2409. 2409. 2409. ) + body505_radii = ( 131. 73. 67. ) + 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 = ( 50 50 50 ) + body515_radii = ( 13 10 8 ) + body516_radii = ( 20 20 20 ) + + + 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 2000 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 + 2000 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: + + body601_radii = ( 210.3 197.4 192.6 ) + body602_radii = ( 256.2 247.3 244.0 ) + 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 = ( 180. 140. 112.5 ) + body608_radii = ( 718. 718. 718. ) + body609_radii = ( 115. 110. 105. ) + body610_radii = ( 97. 95. 77. ) + body611_radii = ( 69. 55. 55. ) + body612_radii = ( 16 16 16 ) + body613_radii = ( 15 12.5 7.5 ) + body614_radii = ( 15 8 8 ) + body615_radii = ( 18.5 17.2 13.5 ) + body616_radii = ( 74 50 34 ) + body617_radii = ( 55 44 31 ) + body618_radii = ( 10 10 10 ) + + + Current values: + + \begindata + + 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 ) + + \begintext + + Only the first equatorial radius for Helene (body 612) is given in the + 2000 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 = ( 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 ) + + \begintext + + + For Pan, only a mean radius is given in the 2000 report. + + \begindata + + BODY618_RADII = ( 10 10 10 ) + + \begintext + + + +Satellites of Uranus + + Old values: + + Values are unchanged in the 2000 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 2000 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 unchanged in the 2000 IAU report. + + Current values: + + \begindata + + BODY901_RADII = ( 593 593 593 ) + + \begintext + + + +Radii of Selected Asteroids +-------------------------------------------------------- + + +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 + + + + +Kleopatra + + + Current values: + + + \begindata + + BODY2000216_RADII = ( 108.5 47 40.5 ) + + \begintext + + + +Eros + + Current values: + + + \begindata + + BODY2000433_RADII = ( 7.311 7.311 7.311 ) + + \begintext + + +=========================================================================== +End of file pck00008.tpc +=========================================================================== + + + diff --git a/mkdocs.yml b/mkdocs.yml index c02c0947b98774815ebf7d74046ca5923e1cdb85..c9ad4e5e4c53989596906a5baf7045a061ce735a 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -36,7 +36,10 @@ theme: nav: - Home: index.md - - Getting Started: getting-started/index.md + - Getting Started: + - Home: getting-started/index.md + - CSM Stack: + - Generating an ISD, creating a CSM model, and converting coordinates: getting-started/CSM Stack/ImageToGroundTutorial.ipynb - How-To Guides: - Home: how-to-guides/index.md - Software Management: @@ -61,6 +64,8 @@ extra_javascript: plugins: - search + - mkdocs-jupyter: + include_source: true markdown_extensions: - neoteroi.cards diff --git a/requirements.txt b/requirements.txt index 79bd10c404494a3327d3ed59480e037a651933e5..360a5cd0a5347af54f61a5447c663e2f7ceae5a3 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ mkdocs mkdocs-material -neoteroi-mkdocs \ No newline at end of file +neoteroi-mkdocs +mkdocs-jupyter \ No newline at end of file