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 %}
+
+ {% include ".icons/material/download.svg" %}
+
+{% endif %}
+
+{{ super() }}
+{% endblock content %}
{% block footer %}
@@ -211,7 +220,6 @@
-
{% 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." . 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." .
+
+ [13] International Association of Geomagnetism and Aeronomy
+ and International Union of Geodesy and Geophysics (2004).
+ Web page: "The 9th Generation International Geomagnetic
+ Reference Field." .
+
+ [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 1c7e4055226918264f78737ac620c461a2faf39a..1802b56ded3f3c5dacfb0dc0b7ac53803e603c14 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:
@@ -60,6 +63,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