Skip to content
Snippets Groups Projects
Commit 1c216579 authored by Rodriguez, Kelvin's avatar Rodriguez, Kelvin
Browse files

Merge branch 'image-to-ground-tutorial' into 'main'

CSM Stack - Image to ground tutorial

See merge request astrogeology/asc-public-docs!6
parents 1d620e4f 61cd3915
No related branches found
No related tags found
No related merge requests found
Showing
with 8066 additions and 3 deletions
......@@ -138,6 +138,15 @@
{{ super() }}
{% endblock %}
{% block content %}
{% if page.nb_url %}
<a href="{{ page.nb_url }}" title="Download Notebook" class="md-content__button md-icon">
{% include ".icons/material/download.svg" %}
</a>
{% endif %}
{{ super() }}
{% endblock content %}
{% block footer %}
......@@ -211,7 +220,6 @@
</footer>
{% endblock %}
{% block styles %}
......
%% Cell type:markdown id:a117baed-ab98-4499-832c-8c73a8606cc0 tags:
# Getting Started: Instantiating a CSM Camera Model from Image
%% Cell type:markdown id:3602c014-53bc-4330-a9b0-0848d4927458 tags:
### 1. Install dependencies
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 tags:
```
conda install -c conda-forge knoten=0.2.1
```
%% Cell type:markdown id:faed4a43-cd06-45c7-bfa1-793978d41486 tags:
### 2. Generate an ISD from a Cube
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.
*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 id:7f58cb34-d27f-456d-bfb5-f9075ca575b3 tags:
``` python
import ale
import json
import knoten
import os
# Set local data directory and paths
data_dir = '../data/image_to_ground'
cube_file = os.path.join(data_dir, 'B10_013341_1010_XN_79S172W.cub')
isd_file = os.path.join(data_dir, 'isd_file.json')
# Set local kernel paths
props = {
'kernels': [
os.path.join(data_dir, 'B10_013341_1010_XN_79S172W_0.bsp'),
os.path.join(data_dir, 'B10_013341_1010_XN_79S172W_1.bsp'),
os.path.join(data_dir, 'mro_ctx_v11.ti'),
os.path.join(data_dir, 'mro_sc_psp_090526_090601_0_sliced_-74000.bc'),
os.path.join(data_dir, 'mro_sc_psp_090526_090601_1_sliced_-74000.bc'),
os.path.join(data_dir, 'mro_sclkscet_00082_65536.tsc'),
os.path.join(data_dir, 'mro_v16.tf'),
os.path.join(data_dir, 'naif0012.tls'),
os.path.join(data_dir, 'pck00008.tpc')
]
}
# Generate the ISD string from the cube's label
isd_str = ale.loads(
label=cube_file,
formatter="ale",
props=props,
indent=2,
verbose=False,
only_isis_spice=False,
only_naif_spice=False
)
# Write the ISD string to file 'isd_file.json'
with open(isd_file, "w") as file:
file.write(isd_str)
```
%% Output
/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.
warnings.warn(
%% Cell type:markdown id:4ed327aa-bffc-4316-b42f-496d9e07465e tags:
### 3. Create a Community Sensor Model
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 id:0c4dbf84-2986-495b-9e4a-da4c77059e7e tags:
``` python
sensor_model = knoten.csm.create_csm(isd_file, verbose=False)
```
%% Cell type:markdown id:d6973fe3-9d4a-4408-9310-50334a52ff58 tags:
### 4. Convert image coordinates into ground coordinates
%% Cell type:code id:d8f2b155-9803-4a6b-a967-bca1ef35860f tags:
``` python
# Create an image coordinate at line = 206 and sample = 206
image_coord = knoten.csmapi.ImageCoord(206, 206)
# Convert the image coordinates to ground coordinates with desired precision of 0.0
ground_coord = sensor_model.imageToGround(image_coord, 0.0)
# Output the ground coordinates
ground_coord.x, ground_coord.y, ground_coord.z
```
%% Output
(-572485.2147483829, -79884.88742005036, -3326939.6184008163)
%% Cell type:markdown id:bf87c5a5-b26c-4168-9324-ce5b0004cc7c tags:
### 5. Convert ground coordinates into image coordinates
%% Cell type:code id:0edc0b6d-cdbe-46a8-9fdc-4ebdc4570f1a tags:
``` python
# Convert the image coordinates to ground coordinates with desired precision of 0.0
image_coord = sensor_model.groundToImage(ground_coord, 0.0)
# Output the image coordinates
image_coord.line, image_coord.samp
```
%% Output
(205.99991086761267, 206.00000010379927)
File added
File added
File added
{
"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
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.
File added
File added
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
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
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
KPL/PCK
\beginlabel
PDS_VERSION_ID = PDS3
RECORD_TYPE = STREAM
RECORD_BYTES = "N/A"
^SPICE_KERNEL = "pck00008.tpc"
MISSION_NAME = "MARS RECONNAISSANCE ORBITER"
SPACECRAFT_NAME = "MARS RECONNAISSANCE ORBITER"
DATA_SET_ID = "MRO-M-SPICE-6-V1.0"
KERNEL_TYPE_ID = PCK
PRODUCT_ID = "pck00008.tpc"
PRODUCT_CREATION_TIME = 2007-06-05T13:50:45
PRODUCER_ID = "NAIF/JPL"
MISSION_PHASE_NAME = "N/A"
PRODUCT_VERSION_TYPE = ACTUAL
PLATFORM_OR_MOUNTING_NAME = "N/A"
START_TIME = "N/A"
STOP_TIME = "N/A"
SPACECRAFT_CLOCK_START_COUNT = "N/A"
SPACECRAFT_CLOCK_STOP_COUNT = "N/A"
TARGET_NAME = MARS
INSTRUMENT_NAME = "N/A"
NAIF_INSTRUMENT_ID = "N/A"
SOURCE_PRODUCT_ID = "N/A"
NOTE = "See comments in the file for details"
OBJECT = SPICE_KERNEL
INTERCHANGE_FORMAT = ASCII
KERNEL_TYPE = TARGET_CONSTANTS
DESCRIPTION = "Generic SPICE PCK file containing constants
from the IAU 2000 report, created by NAIF, JPL. "
END_OBJECT = SPICE_KERNEL
\endlabel
P_constants (PcK) SPICE kernel file
===========================================================================
By: Nat Bachman (NAIF) 2004 September 21
File Organization
--------------------------------------------------------
The contents of this file are as follows.
Introductory Information:
-- File Organization
-- Version description
-- Disclaimer
-- Sources
-- Explanation
-- Body numbers and names
PcK Data:
Orientation Data
----------------
-- Orientation constants for the Sun and planets.
Additional items included in this section:
- Earth north geomagnetic centered dipole values
for epochs 1945-2000
- Mars prime meridian offset "lambda_a"
-- Orientation constants for satellites
-- Orientation constants for asteroids Gaspra, Ida,
Vesta, and Eros
Radii of Bodies
---------------
-- Radii of Sun and planets
-- Radii of satellites, where available
-- Radii of asteroids Gaspra, Ida, Kleopatra, and Eros
Version description
--------------------------------------------------------
This file was created on September 21, 2004. This version
incorporates data from reference [2]: "Report of the IAU/IAG
Working Group on Cartographic Coordinates and Rotational Elements
of the Planets and Satellites: 2000." Note that the 2003
version of this report is as yet unpublished.
This file contains size, shape, and orientation data for all
objects described by the previous version of the file, plus data
for the asteroids Vesta, Kleopatra, and Eros.
Disclaimer
--------------------------------------------------------
Applicability of Data
This constants file may not contain the parameter values that
you prefer. Note that this file may be readily modified by
you or anyone else. NAIF suggests that you inspect this file
visually before proceeding with any critical or extended
data processing.
File Modifications by Users
NAIF requests that you update the "by line" and date if you
modify this file.
Known Limitations and Caveats
In general, the orientation models given here are claimed by the
IAU/IAG Working Group Report [2] to be accurate to 0.1 degree
([2], p.85). However, NAIF notes that orientation models for
natural satellites and asteroids have in some cases changed
substantially with the availability of new observational data, so
users are urged to investigate the suitability for their
applications of the models presented here.
NAIF strongly cautions against using the earth rotation model
(from [2]) given here for work demanding high accuracy. This
model has been determined by NAIF to have an error in the prime
meridian location of magnitude at least 150 arcseconds, with a
local minimum occurring during the year 1999. Regarding
availability of better earth orientation data for use with the
SPICE system:
Earth orientation data are available from NAIF in the form of
binary earth PCK files. NAIF employs an automated process to
create these files; each time JPL's section 335 produces a new
earth orientation parameter (EOP) file, a new PCK is produced.
These PCKs cover a 12-month time span starting about nine
months prior to the current date. In these PCK files, the
following effects are accounted for in modeling the earth's
rotation:
- Precession: 1976 IAU model
- Nutation: 1980 IAU model, plus interpolated
EOP nutation corrections
- Polar motion: interpolated from EOP file
- True sidereal time:
+ UT1 - UT1R (if needed): given by analytic formula
+ TAI - UT1 (or UT1R): interpolated from EOP file
+ UT1 - GMST: given by analytic formula
+ equation of equinoxes: given by analytic formula
where
TAI = International Atomic Time
UT1 = Greenwich hour angle of computed mean sun - 12h
UT1R = Regularized UT1
GMST = Greenwich mean sidereal time
These kernels are available via anonymous ftp from the server
naif.jpl.nasa.gov
The kernels are in the path
pub/naif/generic_kernels/pck
At this time, these kernels have file names of the form
earth_000101_yymmdd_yymmdd.bpc
The second and third dates are, respectively, the file's
coverage end time and the epoch of the last datum.
These binary PCK files are very accurate (error < 0.1
microradian) for epochs preceding the epoch of the last datum.
For later epochs, the error rises to several microradians.
Binary PCK files giving accurate earth orientation back to 1972
and *low accuracy* predicted earth orientation to 2023 are also
available in the same location.
How does the rotation model used in the long term predict
binary earth PCK compare to that used in this file? Because of
the unpredictability of the earth's orientation, in particular
of its spin, it's not possible to answer with certainty.
However, we can make these observations:
- The long term predict binary PCK presumably does a better
job of predicting the orientation of the earth's equator
since the binary PCK accounts for nutation and the model
from [2] does not.
- The prime meridian error in the model from [2] amounts
to, at a minimum, about 10 seconds of rotation. It should
take years for the spin error of the binary long term
predict PCK to grow as large.
Characteristics and names of the binary kernels described here
are subject to change. Contact NAIF for details concerning
binary earth PCKs.
The SPICE Toolkit doesn't currently contain software to model the
earth's north geomagnetic centered dipole as a function of time.
As a convenience for users, the north dipole location from the
J2000 epoch was selected as a representative datum, and the
planetocentric longitude and latitude of this location have been
associated with the keywords
BODY399_N_GEOMAG_CTR_DIPOLE_LON
BODY399_N_GEOMAG_CTR_DIPOLE_LAT
Values for the earth's north geomagnetic centered dipole are
presented in comments as a discrete time series for the time range
1945-2000. For details concerning the the geomagnetic field model
from which these values were derived, including a discussion of
the model's accuracy, see [13].
The Mars prime meridian offset given by [10] is not used by
SPICE geometry software for computations involving the shape
of Mars (for example, in sub-observer point or surface intercept
computations). The value is provided for informational
purposes only.
SPICE Toolkits prior to version N0057 cannot make use of
trigonometric polynomial terms in the formulas for orientation of
the planets. The only planet for which such terms are used is
Neptune. Use of trigonometric polynomial terms for natural
satellites is and has been supported for all SPICE Toolkit
versions.
Sources
--------------------------------------------------------
The sources for the constants listed in this file are:
[1] Seidelmann, P.K., Archinal, B.A., A'Hearn, M.F.,
Cruikshank, D.P., Hilton, J.L., Keller, H.U., Oberst, J.,
Simon, J.L., Stooke, P., Tholen, D.J., and Thomas, P.C.
"Report of the IAU/IAG Working Group on Cartographic
Coordinates and Rotational Elements of the Planets and
Satellites: 2003," Unpublished.
[2] Seidelmann, P.K., Abalakin, V.K., Bursa, M., Davies, M.E.,
Bergh, C. de, Lieske, J.H., Oberst, J., Simon, J.L.,
Standish, E.M., Stooke, P., and Thomas, P.C. (2002).
"Report of the IAU/IAG Working Group on Cartographic
Coordinates and Rotational Elements of the Planets and
Satellites: 2000," Celestial Mechanics and Dynamical
Astronomy, v.82, Issue 1, pp. 83-111.
[3] Davies, M.E., Abalakin, V.K., Bursa, M., Kinoshita, H.,
Kirk, R.L., Lieske, J.H., Marov, M.Ya., Seidelmann, P.K.,
and Simon, J.-L. "Report of the IAU/IAG/COSPAR Working
Group on Cartographic Coordinates and Rotational Elements
of the Planets and Satellites: 1997," Unpublished.
[4] Davies, M.E., Abalakin, V.K., Bursa, M., Lieske, J.H.,
Morando, B., Morrison, D., Seidelmann, P.K., Sinclair,
A.T., Yallop, B., and Tjuflin, Y.S. (1996). "Report of
the IAU/IAG/COSPAR Working Group on Cartographic
Coordinates and Rotational Elements of the Planets and
Satellites: 1994," Celestial Mechanics and Dynamical
Astronomy, v.63, pp. 127-148.
[5] Davies, M.E., Abalakin, V.K., Brahic, A., Bursa, M.,
Chovitz., B.H., Lieske, J.H., Seidelmann, P.K.,
Sinclair, A.T., and Tiuflin, I.S. (1992). "Report of the
IAU/IAG/COSPAR Working Group on Cartographic Coordinates
and Rotational Elements of the Planets and Satellites:
1991," Celestial Mechanics and Dynamical Astronomy,
v.53, no.4, pp. 377-397.
[6] Davies, M.E., Abalakin, V.K., Bursa, M., Hunt, G.E.,
and Lieske, J.H. (1989). "Report of the IAU/IAG/COSPAR
Working Group on Cartographic Coordinates and Rotational
Elements of the Planets and Satellites: 1988," Celestial
Mechanics and Dynamical Astronomy, v.46, no.2, pp.
187-204.
[7] Nautical Almanac Office, United States Naval Observatory
and H.M. Nautical Almanac Office, Rutherford Appleton
Laboratory (2005). "The Astronomical Almanac for
the Year 2005," U.S. Government Printing Office,
Washington, D.C.: and The Stationary Office, London.
[8] Nautical Almanac Office, United States Naval Observatory,
H.M. Nautical Almanac Office, Royal Greenwich
Observatory, Jet Propulsion Laboratory, Bureau des
Longitudes, and The Time Service and Astronomy
Departments, United States Naval Observatory (1992).
"Explanatory Supplement to the Astronomical Almanac," P.
Kenneth Seidelmann, ed. University Science Books, 20
Edgehill Road, Mill Valley, CA 9494.
[9] Duxbury, Thomas C. (2001). "IAU/IAG 2000 Mars Cartographic
Conventions," presentation to the Mars Express Data
Archive Working Group, Dec. 14, 2001.
[10] Russell, C.T. and Luhmann, J.G. (1990). "Earth: Magnetic
Field and Magnetosphere." <http://www-ssc.igpp.ucla.
edu/personnel/russell/papers/earth_mag>. Originally
published in "Encyclopedia of Planetary Sciences," J.H.
Shirley and R.W. Fainbridge, eds. Chapman and Hall,
New York, pp 208-211.
[11] Russell, C.T. (1971). "Geophysical Coordinate
Transformations," Cosmic Electrodynamics 2 184-186.
NAIF document 181.0.
[12] ESA/ESTEC Space Environment Information System (SPENVIS)
(2003). Web page: "Dipole approximations of the
geomagnetic field." <http://www.spenvis.oma.be/spenvis/
help/background/magfield/cd.html>.
[13] International Association of Geomagnetism and Aeronomy
and International Union of Geodesy and Geophysics (2004).
Web page: "The 9th Generation International Geomagnetic
Reference Field." <http://www.ngdc.noaa.gov/
IAGA/vmod/igrf.html>.
[14] Duxbury, Thomas C. (1979). "Planetary Geodetic Control
Using Satellite Imaging," Journal of Geophysical Research,
vol. 84, no. B3. This paper is cataloged as NAIF
document 190.0.
[15] Letter from Thomas C. Duxbury to Dr. Ephraim Lazeryevich
Akim, Keldish Institute of Applied Mathematics, USSR
Academy of Sciences, Moscow, USSR. This letter is
cataloged as NAIF document number 195.0.
[16] "Placeholder" values were supplied by NAIF for some radii
of the bodies listed below:
Body NAIF ID code
---- ------------
Metis 516
Helene 612
Larissa 807
See the discussion below for further information.
Most values are from [2]. All exceptions are
commented where they occur in this file. The exceptions are:
-- Radii for the Sun are from [7].
-- The second nutation precession angle (M2) for Mars is
represented by a quadratic polynomial in the 2000
IAU report. The SPICELIB subroutine BODEUL can not
handle this term (which is extremely small), so we
truncate the polynomial to a linear one.
-- For several satellites, the 2000 IAU report either gives
a single radius value or a polar radius and a single
equatorial radius. SPICE Toolkit software that uses body
radii expects to find three radii whenever these data are
read from the kernel pool. In the cases listed below,
NAIF has used the mean radius value for all three radii.
Wherever this was done, the fact has been noted.
The affected satellites are:
Body NAIF ID code
---- ------------
Metis 516
Helene 612
Larissa 807
-- Earth north geomagnetic centered dipole values are from
[12]. The article [10] was used to check most of
these values, and the values were also re-computed from
the 9th generation IGRF [13] by Nat Bachman.
-- The Mars prime meridian offset angle is from [9].
"Old values" listed are from the SPICE P_constants file
dated April 24, 2000. Most of these values came from the
1994 IAU report [4].
Explanation
--------------------------------------------------------
The SPICE Toolkit software that uses this file is documented in
the SPICE "Required Reading" file pck.req. For a terse
description of the PCK file format, see the section below titled
"File Format." See the SPICE "Required Reading" file kernel.req
for a detailed explanation of the SPICE text kernel file format.
The files pck.req and kernel.req are included in the documentation
provided with the SPICE Toolkit.
This file, which is logically part of the SPICE P-kernel, contains
constants used to model the orientation, size and shape of the
Sun, planets, and satellites. The orientation models express the
direction of the pole and location of the prime meridian of a body
as a function of time. The size/shape models ("shape models" for
short) represent all bodies as ellipsoids, using two equatorial
radii and a polar radius. Spheroids and spheres are obtained when
two or all three radii are equal.
File Format
This file consists of a series of comment blocks and data blocks.
Comment blocks, which contain free-form descriptive or explanatory
text, are preceded by a \begintext token. Data blocks follow a
\begindata token. In order to be recognized, each token shown
here must be placed on a line by itself.
The portion of the file preceding the first data block is treated
as a comment block; it doesn't require an initial comment block
token.
This file identifies data using a series of
KEYWORD = VALUE
assignments. The left hand side of each assignment is a
"kernel variable" name; the right hand side is an associated value
or list of values. The SPICE subroutine API allows SPICE routines
and user applications to retrieve the set of values associated
with each kernel variable name.
Kernel variable names are case-sensitive and are limited to
32 characters in length.
Numeric values may be integer or floating point. String values
are normally limited to 80 characters in length; however, SPICE
provides a mechanism for identifying longer, "continued" strings.
See the SPICE routine STPOOL for details.
String values are single quoted.
When the right hand side of an assignment is a list of values,
the list items may be separated by commas or simply by blanks.
The list must be bracketed by parentheses. Example:
BODY399_RADII = ( 6378.14 6378.14 6356.75 )
Any blanks preceding or following keyword names, values and equal
sign are ignored.
Assignments may be spread over multiple lines, for example:
BODY399_RADII = ( 6378.14
6378.14
6356.75 )
This file may contain blank lines anywhere. Non-printing
characters including TAB should not be present in the file: the
presence of such characters may make the file unreadable by
SPICE software.
Time systems and reference frames
The 2000 IAU/IAG Working Group Report [1] states that, to the
accuracy of the formulas given, the time system used may be
regarded as any of TDB (Barycentric Dynamical Time), TT
(Terrestrial time, formerly called TDT), or T_eph (the independent
variable of the JPL planetary ephemerides). Reference [2], from
which most data in this report were taken, erroneously identifies
the time system as TCB (Barycentric Coordinate Time).
SPICE software treats the time system used in this file as T_eph,
but for historical reasons SPICE documentation refers to the time
system as both "ET" and "TDB." For consistency, documentation in
this version of the file retains use of the name TDB.
The origin of the time system is 2000 January 1 12:00:00 (TDB).
Throughout SPICE documentation and in this file, we use the names
"J2000 TDB" and "J2000" for this epoch. The name "J2000.0" is
equivalent.
The inertial reference frame used for the rotational elements in
this file is identified by [1] as the ICRF (International
Celestial Reference Frame). In this file, the frame is treated
as J2000. The difference between the J2000 frame and the ICRF is
on the order of tens of milliarcseconds and is well below the
accuracy level of the formulas in this file.
Orientation models
All of the orientation models use three Euler angles to describe
body orientation. To be precise, the Euler angles describe the
orientation of the coordinate axes of the "Body Equator and Prime
Meridian" system with respect to an inertial system. By default,
the inertial system is J2000 (also called "EME2000"), but other
frames can be specified in the file. See the PCK Required Reading
for details.
The first two angles, in order, are the J2000 right ascension and
declination (henceforth RA and DEC) of the north pole of a body as
a function of time. The third angle is the prime meridian location
(represented by "W"), which is expressed as a rotation about the
north pole, and is also a function of time.
For the Sun and planets, the expressions for the north pole's
right ascension and declination, as well as prime meridian
location, are sums (as far as the models that appear in this file
are concerned) of quadratic polynomials and trigonometric
polynomials, where the independent variable is time. Some
coefficients may be zero. Currently Neptune is the only planet
for which trigonometric polynomial terms are used.
In this file, the time arguments in expressions always refer to
Barycentric Dynamical Time (TDB), measured in centuries or days
past a reference epoch. By default, the reference epoch is
the J2000 epoch, which is Julian ephemeris date 2451545.0, but
other epochs can be specified in the file. See the PCK Required
Reading for details.
Example: 1991 IAU Model for orientation of the Earth. Note that
these values are used as an example only; see the data area below
for current values.
alpha = 0.00 - 0.641 T ( RA )
0
delta = 90.0 - 0.557 T ( DEC )
0
W = 190.16 + 360.9856235 d ( Prime meridian )
T represents centuries past J2000 ( TDB ),
d represents days past J2000 ( TDB ).
In this file, the polynomials' coefficients above are assigned to the
symbols
BODY399_POLE_RA
BODY399_POLE_DEC
BODY399_POLE_PM
as follows:
BODY399_POLE_RA = ( 0. -0.641 0. )
BODY399_POLE_DEC = ( 90. -0.557 0. )
BODY399_PM = ( 190.16 360.9856235 0. )
Note the number "399"; this is the NAIF ID code for the Earth.
You'll see an additional symbol grouped with the ones listed here; it
is
BODY399_LONG_AXIS
This term is zero for all bodies except Mars. It represents the
angular offset between the meridian containing the longest axis of
the triaxial ellipsoid used to model a body and the prime meridian
of the body.
Expressions for satellites are a little more complicated; in addition
to polynomial terms, there are trigonometric terms. The arguments of
the trigonometric terms are linear polynomials. In this file, we call
the arguments of these trigonometric terms "nutation precession
angles."
In this file, the polynomial expressions for the nutation precession
angles are listed along with the planet's RA, DEC, and prime meridian
terms.
Example: 1991 IAU nutation precession angles for Earth. Note that these
values are used as an example only; see the data area below for current
values.
E1 = 125.045 - 0.052992 d
E2 = 250.090 - 0.105984 d
E3 = 260.008 + 13.012001 d
E4 = 176.625 + 13.340716 d
E5 = 357.529 + 0.985600 d
d represents days past J2000 ( TDB )
Because the SPICE Toolkit software expects the time units for the
angles to be CENTURIES (as in the IAU models for most bodies--the
Earth is an exception), the linear coefficients are scaled by
36525.0 (days/century) in the assignments:
BODY3_NUT_PREC_ANGLES = ( 125.045 -1935.5328
250.090 -3871.0656
260.008 475263.336525
176.625 487269.6519
357.529 35999.04 )
As stated above, the satellite orientation models use polynomial and
trigonometric terms, where the arguments of the trigonometric terms
are the "nutation precession angles."
Example: 1988 IAU values for the Moon. Again, these values are used
as an example only; see the data area below for current values.
alpha = 270.000 + 0.003 T - 3.878 sin(E1) - 0.120 sin(E2)
0
+ 0.070 sin(E3) - 0.017 sin(E4) (RA)
delta = 66.541 + 0.013 T + 1.543 cos(E1) + 0.024 cos(E2)
0
- 0.028 cos(E3) + 0.007 cos(E4) (DEC)
W = 38.317 + 13.1763582 d + 3.558 sin(E1)
+ 0.121 sin(E2)
- 0.064 sin(E3)
+ 0.016 sin(E4)
+ 0.025 sin(E5) ( Prime
meridian )
d represents days past J2000.
E1--E5 are the nutation precession angles.
The polynomial terms are assigned to symbols by the statements
BODY301_POLE_RA = ( 270.000 0.003 0. )
BODY301_POLE_DEC = ( 66.541 0.013 0. )
BODY301_PM = ( 38.317 13.1763582 0. )
The coefficients of the trigonometric terms are assigned to symbols by
the statements
BODY301_NUT_PREC_RA = ( -3.878 -0.120 0.070 -0.017 0. )
BODY301_NUT_PREC_DEC = ( 1.543 0.024 -0.028 0.007 0. )
BODY301_NUT_PREC_PM = ( 3.558 0.121 -0.064 0.016 0.025 )
Note that for the RA and PM (prime meridian) assignments, the ith term
is the coefficient of sin(Ei) in the expression used in the IAU model,
while for the DEC assignment, the ith term is the coefficient of
cos(Ei) in the expression used in the IAU model.
SPICE software expects the models for satellite orientation to
follow the form of the model shown here: the polynomial portions of the
RA, DEC, and W expressions are expected to be quadratic, the
trigonometric terms for RA and W (satellite prime meridian) are expected
to be linear combinations of sines of nutation precession angles, the
trigonometric terms for DEC are expected to be linear combinations of
cosines of nutation precession angles, and the polynomials for the
nutation precession angles themselves are expected to be linear.
Eventually, the software will handle more complex expressions, we
expect.
Shape models
There is only one kind of shape model supported by the SPICE Toolkit
software at present: the triaxial ellipsoid. The 2000 IAU report does
not use any other models, except in the case of Mars, where
separate values are given for the north and south polar radii.
For each body, three radii are listed: The first number is
the largest equatorial radius (the length of the semi-axis
containing the prime meridian), the second number is the smaller
equatorial radius, and the third is the polar radius.
Example: Radii of the Earth.
BODY399_RADII = ( 6378.14 6378.14 6356.75 )
Body numbers and names
--------------------------------------------------------
1 Mercury barycenter
2 Venus barycenter
3 Earth barycenter
4 Mars barycenter
5 Jupiter barycenter
6 Saturn barycenter
7 Uranus barycenter
8 Neptune barycenter
9 Pluto barycenter
10 Sun
While not relevant to the P_constants kernel, we note here for
completeness that 0 is used to represent the solar system
barycenter.
199 Mercury
299 Venus
399 Earth
301 Moon
499 Mars
401 Phobos 402 Deimos
599 Jupiter
501 Io 502 Europa 503 Ganymede 504 Callisto
505 Amalthea 506 Himalia 507 Elara 508 Pasiphae
509 Sinope 510 Lysithea 511 Carme 512 Ananke
513 Leda 514 Thebe 515 Adrastea 516 Metis
699 Saturn
601 Mimas 602 Enceladus 603 Tethys 604 Dione
605 Rhea 606 Titan 607 Hyperion 608 Iapetus
609 Phoebe 610 Janus 611 Epimetheus 612 Helene
613 Telesto 614 Calypso 615 Atlas 616 Prometheus
617 Pandora 618 Pan
799 Uranus
701 Ariel 702 Umbriel 703 Titania 704 Oberon
705 Miranda 706 Cordelia 707 Ophelia 708 Bianca
709 Cressida 710 Desdemona 711 Juliet 712 Portia
713 Rosalind 714 Belinda 715 Puck
899 Neptune
801 Triton 802 Nereid 803 Naiad 804 Thalassa
805 Despina 806 Galatea 807 Larissa 808 Proteus
999 Pluto
901 Charon
2000004 Asteroid Vesta
2000216 Asteroid Kleopatra
2000433 Asteroid Eros
2431010 Asteroid Ida
9511010 Asteroid Gaspra
Orientation constants for the Sun and planets
--------------------------------------------------------
Sun
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY10_POLE_RA = ( 286.13 0. 0. )
BODY10_POLE_DEC = ( 63.87 0. 0. )
BODY10_PM = ( 84.10 14.18440 0. )
BODY10_LONG_AXIS = ( 0. )
\begintext
Mercury
Old values:
body199_pole_ra = ( 281.01, -0.033, 0. )
body199_pole_dec = ( 61.45, -0.005, 0. )
body199_pm = ( 329.55 6.1385025 0. )
body199_long_axis = ( 0. )
Current values:
\begindata
BODY199_POLE_RA = ( 281.01 -0.033 0. )
BODY199_POLE_DEC = ( 61.45 -0.005 0. )
BODY199_PM = ( 329.548 6.1385025 0. )
BODY199_LONG_AXIS = ( 0. )
\begintext
Venus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY299_POLE_RA = ( 272.76 0. 0. )
BODY299_POLE_DEC = ( 67.16 0. 0. )
BODY299_PM = ( 160.20 -1.4813688 0. )
BODY299_LONG_AXIS = ( 0. )
\begintext
Earth
Old values:
Values shown are from the 1994 IAU report [4].
body399_pole_ra = ( 0. -0.641 0. )
body399_pole_dec = ( 90. -0.557 0. )
body399_pm = ( 190.16 360.9856235 0. )
body399_long_axis = ( 0. )
Nutation precession angles are unchanged in the 2000 report.
Current values:
\begindata
BODY399_POLE_RA = ( 0. -0.641 0. )
BODY399_POLE_DEC = ( 90. -0.557 0. )
BODY399_PM = ( 190.147 360.9856235 0. )
BODY399_LONG_AXIS = ( 0. )
\begintext
Nutation precession angles for the Earth-Moon system:
The linear coefficients have been scaled up from degrees/day
to degrees/century, because the SPICELIB PCK reader expects
these units. The original constants were:
125.045D0 -0.0529921D0
250.089D0 -0.1059842D0
260.008D0 13.0120009D0
176.625D0 13.3407154D0
357.529D0 0.9856003D0
311.589D0 26.4057084D0
134.963D0 13.0649930D0
276.617D0 0.3287146D0
34.226D0 1.7484877D0
15.134D0 -0.1589763D0
119.743D0 0.0036096D0
239.961D0 0.1643573D0
25.053D0 12.9590088D0
\begindata
BODY3_NUT_PREC_ANGLES = ( 125.045 -1935.5364525000
250.089 -3871.0729050000
260.008 475263.3328725000
176.625 487269.6299850000
357.529 35999.0509575000
311.589 964468.4993100000
134.963 477198.8693250000
276.617 12006.3007650000
34.226 63863.5132425000
15.134 -5806.6093575000
119.743 131.8406400000
239.961 6003.1503825000
25.053 473327.7964200000 )
\begintext
Earth north geomagnetic centered dipole:
Old values:
Values are from [11]. Note the year of publication was 1971.
body399_mag_north_pole_lon = ( -69.761 )
body399_mag_north_pole_lat = ( 78.565 )
Current values:
The north dipole location is time-varying. The values shown
below, taken from [12], represent a discrete sampling of the
north dipole location from 1945 to 2000. The terms DGRF and
IGRF refer to, respectively, "Definitive Geomagnetic
Reference Field" and "International Geomagnetic Reference
Field." See references [10], [12], and [13] for details.
Coordinates are planetocentric.
Data source Lat Lon
----------- ----- ------
DGRF 1945 78.47 291.47
DGRF 1950 78.47 291.15
DGRF 1955 78.46 290.84
DGRF 1960 78.51 290.53
DGRF 1965 78.53 290.15
DGRF 1970 78.59 289.82
DGRF 1975 78.69 289.53
DGRF 1980 78.81 289.24
DGRF 1985 78.97 289.10
DGRF 1990 79.13 288.89
IGRF 1995 79.30 288.59
IGRF 2000 79.54 288.43
Values are given for the epoch 2000 and are from the final row
of the above table, which is from [12]. As shown by the table
these values constitute a low-accuracy approximation for epochs
not close to 2000.
\begindata
BODY399_N_GEOMAG_CTR_DIPOLE_LON = ( 288.43 )
BODY399_N_GEOMAG_CTR_DIPOLE_LAT = ( 79.54 )
\begintext
Mars
Old values:
Values shown are from the 1994 IAU report [4].
body499_pole_ra = ( 317.681 -0.108 0. )
body499_pole_dec = ( 52.886 -0.061 0. )
body499_pm = ( 176.901 350.8919830 0. )
Nutation precession angles are unchanged in the 2000 IAU report.
Old lambda_a values were specified as POSITIVE WEST LONGITUDE.
Reference [14] gave the value
body499_long_axis = ( 110. )
and reference [15] gave the value
body499_long_axis = ( 104.9194 )
Current values:
\begindata
BODY499_POLE_RA = ( 317.68143 -0.1061 0. )
BODY499_POLE_DEC = ( 52.88650 -0.0609 0. )
BODY499_PM = ( 176.630 350.89198226 0. )
\begintext
Source [9] specifies the following value for the lambda_a term
(BODY499_LONG_AXIS ) for Mars. This term is the POSITIVE EAST
LONGITUDE, measured from the prime meridian, of the meridian
containing the longest axis of the reference ellipsoid.
(CAUTION: previous values were POSITIVE WEST.)
body499_long_axis = ( 252. )
We list this lambda_a value for completeness. The IAU report
[2] gives equal values for both equatorial radii, so the
lambda_a offset does not apply to the IAU model.
The 2000 IAU report defines M2, the second nutation precession angle,
by:
2
192.93 + 1128.4096700 d + 8.864 T
We truncate the M2 series to a linear expression, because the PCK
software cannot handle the quadratic term.
Again, the linear terms are scaled by 36525.0:
-0.4357640000000000 --> -15916.28010000000
1128.409670000000 --> 41215163.19675000
-1.8151000000000000E-02 --> -662.9652750000000
We also introduce a fourth nutation precession angle, which
is the pi/2-complement of the third angle. This angle is used
in computing the prime meridian location for Deimos. See the
discussion of this angle below in the section containing orientation
constants for Deimos.
\begindata
BODY4_NUT_PREC_ANGLES = ( 169.51 -15916.2801
192.93 41215163.19675
53.47 -662.965275
36.53 662.965275 )
\begintext
Jupiter
Old values:
body599_pole_ra = ( 268.05 -0.009 0. )
body599_pole_dec = ( +64.49 +0.003 0. )
body599_pm = ( 284.95 +870.5366420 0. )
body599_long_axis = ( 0. )
body5_nut_prec_angles = ( 73.32 +91472.9
24.62 +45137.2
283.90 +4850.7
355.80 +1191.3
119.90 +262.1
229.80 +64.3
352.25 +2382.6
113.35 +6070.0
146.64 +182945.8
49.24 +90274.4 )
Current values:
The number of nutation precession angles is ten. The ninth and
tenth are twice the first and second, respectively.
\begindata
BODY599_POLE_RA = ( 268.05 -0.009 0. )
BODY599_POLE_DEC = ( 64.49 0.003 0. )
BODY599_PM = ( 284.95 870.5366420 0. )
BODY599_LONG_AXIS = ( 0. )
BODY5_NUT_PREC_ANGLES = ( 73.32 91472.9
24.62 45137.2
283.90 4850.7
355.80 1191.3
119.90 262.1
229.80 64.3
352.35 2382.6
113.35 6070.0
146.64 182945.8
49.24 90274.4 )
\begintext
Saturn
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY699_POLE_RA = ( 40.589 -0.036 0. )
BODY699_POLE_DEC = ( 83.537 -0.004 0. )
BODY699_PM = ( 38.90 810.7939024 0. )
BODY699_LONG_AXIS = ( 0. )
\begintext
The first seven angles given here are the angles S1
through S7 from the 2000 report; the eighth and
ninth angles are 2*S1 and 2*S2, respectively.
\begindata
BODY6_NUT_PREC_ANGLES = ( 353.32 75706.7
28.72 75706.7
177.40 -36505.5
300.00 -7225.9
316.45 506.2
345.20 -1016.3
29.80 -52.1
706.64 151413.4
57.44 151413.4 )
\begintext
Uranus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY799_POLE_RA = ( 257.311 0. 0. )
BODY799_POLE_DEC = ( -15.175 0. 0. )
BODY799_PM = ( 203.81 -501.1600928 0. )
BODY799_LONG_AXIS = ( 0. )
\begintext
The first 16 angles given here are the angles U1
through U16 from the 2000 report; the 17th and
18th angles are 2*U11 and 2*U12, respectively.
\begindata
BODY7_NUT_PREC_ANGLES = ( 115.75 54991.87
141.69 41887.66
135.03 29927.35
61.77 25733.59
249.32 24471.46
43.86 22278.41
77.66 20289.42
157.36 16652.76
101.81 12872.63
138.64 8061.81
102.23 -2024.22
316.41 2863.96
304.01 -51.94
308.71 -93.17
340.82 -75.32
259.14 -504.81
204.46 -4048.44
632.82 5727.92 )
\begintext
Neptune
Old values:
Values are unchanged in the 2000 IAU report. However,
the kernel variables used to store the values have changed.
See note immediately below.
Current values:
The kernel variables
BODY899_NUT_PREC_RA
BODY899_NUT_PREC_DEC
BODY899_NUT_PREC_PM
are new in this PCK version (dated October 17, 2003).
These variables capture trigonometric terms in the expressions
for Neptune's pole direction and prime meridian location.
Version N0057 of the SPICE Toolkit uses these variables;
earlier versions can read them but ignore them when
computing Neptune's orientation.
\begindata
BODY899_POLE_RA = ( 299.36 0. 0. )
BODY899_POLE_DEC = ( 43.46 0. 0. )
BODY899_PM = ( 253.18 536.3128492 0. )
BODY899_LONG_AXIS = ( 0. )
BODY899_NUT_PREC_RA = ( 0.70 0. 0. 0. 0. 0. 0. 0. )
BODY899_NUT_PREC_DEC = ( -0.51 0. 0. 0. 0. 0. 0. 0. )
BODY899_NUT_PREC_PM = ( -0.48 0. 0. 0. 0. 0. 0. 0. )
\begintext
The 2000 report defines the nutation precession angles
N, N1, N2, ... , N7
and also uses the multiples of N1 and N7
2*N1
and
2*N7, 3*N7, ..., 9*N7
In this file, we treat the angles and their multiples as
separate angles. In the kernel variable
BODY8_NUT_PREC_ANGLES
the order of the angles is
N, N1, N2, ... , N7, 2*N1, 2*N7, 3*N7, ..., 9*N7
Each angle is defined by a linear polynomial, so two
consecutive array elements are allocated for each
angle. The first term of each pair is the constant term,
the second is the linear term.
\begindata
BODY8_NUT_PREC_ANGLES = ( 357.85 52.316
323.92 62606.6
220.51 55064.2
354.27 46564.5
75.31 26109.4
35.36 14325.4
142.61 2824.6
177.85 52.316
647.840 125213.200
355.700 104.632
533.550 156.948
711.400 209.264
889.250 261.580
1067.100 313.896
1244.950 366.212
1422.800 418.528
1600.650 470.844 )
\begintext
Pluto
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY999_POLE_RA = ( 313.02 0. 0. )
BODY999_POLE_DEC = ( 9.09 0. 0. )
BODY999_PM = ( 236.77 -56.3623195 0. )
BODY999_LONG_AXIS = ( 0. )
\begintext
Orientation constants for the satellites
--------------------------------------------------------
Satellites of Earth
Old values:
Values are from the 1988 IAU report.
body301_pole_ra = ( 270.000 0. 0. )
body301_pole_dec = ( 66.534 0. 0. )
body301_pm = ( 38.314 13.1763581 0. )
body301_long_axis = ( 0. )
body301_nut_prec_ra = ( -3.878 -0.120 0.070 -0.017 0. )
body301_nut_prec_dec = ( 1.543 0.024 -0.028 0.007 0. )
body301_nut_prec_pm = ( 3.558 0.121 -0.064 0.016 0.025 )
BODY301_POLE_RA = ( 269.9949 0.0031 0. )
BODY301_POLE_DEC = ( 66.5392 0.0130 0. )
BODY301_PM = ( 38.3213 13.17635815 -1.4D-12 )
BODY301_LONG_AXIS = ( 0. )
BODY301_NUT_PREC_RA = ( -3.8787 -0.1204 0.0700 -0.0172
0. 0.0072 0. 0.
0. -0.0052 0. 0.
0.0043 )
BODY301_NUT_PREC_DEC = ( 1.5419 0.0239 -0.0278 0.0068
0. -0.0029 0.0009 0.
0. 0.0008 0. 0.
-0.0009 )
BODY301_NUT_PREC_PM = ( 3.5610 0.1208 -0.0642 0.0158
0.0252 -0.0066 -0.0047 -0.0046
0.0028 0.0052 0.0040 0.0019
-0.0044 )
New values:
\begindata
BODY301_POLE_RA = ( 269.9949 0.0031 0. )
BODY301_POLE_DEC = ( 66.5392 0.0130 0. )
BODY301_PM = ( 38.3213 13.17635815 -1.4D-12 )
BODY301_LONG_AXIS = ( 0. )
BODY301_NUT_PREC_RA = ( -3.8787 -0.1204 0.0700 -0.0172
0.0 0.0072 0.0 0.0
0.0 -0.0052 0.0 0.0
0.0043 )
BODY301_NUT_PREC_DEC = ( 1.5419 0.0239 -0.0278 0.0068
0.0 -0.0029 0.0009 0.0
0.0 0.0008 0.0 0.0
-0.0009 )
BODY301_NUT_PREC_PM = ( 3.5610 0.1208 -0.0642 0.0158
0.0252 -0.0066 -0.0047 -0.0046
0.0028 0.0052 0.0040 0.0019
-0.0044 )
\begintext
Satellites of Mars
Phobos
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
The quadratic prime meridian term is scaled by 1/36525**2:
8.864000000000000 ---> 6.6443009930565219E-09
\begindata
BODY401_POLE_RA = ( 317.68 -0.108 0. )
BODY401_POLE_DEC = ( 52.90 -0.061 0. )
BODY401_PM = ( 35.06 1128.8445850 6.6443009930565219E-09 )
BODY401_LONG_AXIS = ( 0. 0. )
BODY401_NUT_PREC_RA = ( 1.79 0. 0. 0. )
BODY401_NUT_PREC_DEC = ( -1.08 0. 0. 0. )
BODY401_NUT_PREC_PM = ( -1.42 -0.78 0. 0. )
\begintext
Deimos
Old values:
Values are unchanged in the 2000 IAU report.
New values:
The Deimos prime meridian expression is:
2
W = 79.41 + 285.1618970 d - 0.520 T - 2.58 sin M
3
+ 0.19 cos M .
3
At the present time, the PCK kernel software (the routine
BODEUL in particular) cannot handle the cosine term directly,
but we can represent it as
0.19 sin M
4
where
M = 90.D0 - M
4 3
Therefore, the nutation precession angle assignments for Phobos
and Deimos contain four coefficients rather than three.
The quadratic prime meridian term is scaled by 1/36525**2:
-0.5200000000000000 ---> -3.8978300049519307E-10
\begindata
BODY402_POLE_RA = ( 316.65 -0.108 0. )
BODY402_POLE_DEC = ( 53.52 -0.061 0. )
BODY402_PM = ( 79.41 285.1618970 -3.897830D-10 )
BODY402_LONG_AXIS = ( 0. )
BODY402_NUT_PREC_RA = ( 0. 0. 2.98 0. )
BODY402_NUT_PREC_DEC = ( 0. 0. -1.78 0. )
BODY402_NUT_PREC_PM = ( 0. 0. -2.58 0.19 )
\begintext
Satellites of Jupiter
Io
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY501_POLE_RA = ( 268.05 -0.009 0. )
BODY501_POLE_DEC = ( 64.50 0.003 0. )
BODY501_PM = ( 200.39 203.4889538 0. )
BODY501_LONG_AXIS = ( 0. )
BODY501_NUT_PREC_RA = ( 0. 0. 0.094 0.024 )
BODY501_NUT_PREC_DEC = ( 0. 0. 0.040 0.011 )
BODY501_NUT_PREC_PM = ( 0. 0. -0.085 -0.022 )
\begintext
Europa
Old values:
body502_pole_ra = ( 268.08 -0.009 0. )
body502_pole_dec = ( 64.51 0.003 0. )
body502_pm = ( 35.67 101.3747235 0. )
body502_long_axis = ( 0. )
body502_nut_prec_ra = ( 0. 0. 0. 1.086 0.060 0.015 0.009 )
body502_nut_prec_dec = ( 0. 0. 0. 0.468 0.026 0.007 0.002 )
body502_nut_prec_pm = ( 0. 0. 0. -0.980 -0.054 -0.014 -0.008 )
Current values:
\begindata
BODY502_POLE_RA = ( 268.08 -0.009 0. )
BODY502_POLE_DEC = ( 64.51 0.003 0. )
BODY502_PM = ( 36.022 101.3747235 0. )
BODY502_LONG_AXIS = ( 0. )
BODY502_NUT_PREC_RA = ( 0. 0. 0. 1.086 0.060 0.015 0.009 )
BODY502_NUT_PREC_DEC = ( 0. 0. 0. 0.468 0.026 0.007 0.002 )
BODY502_NUT_PREC_PM = ( 0. 0. 0. -0.980 -0.054 -0.014 -0.008 )
\begintext
Ganymede
Old values:
body503_pole_ra = ( 268.20 -0.009 0. )
body503_pole_dec = ( +64.57 +0.003 0. )
body503_pm = ( 44.04 +50.3176081 0. )
body503_long_axis = ( 0. )
body503_nut_prec_ra = ( 0. 0. 0. -0.037 +0.431 +0.091 )
body503_nut_prec_dec = ( 0. 0. 0. -0.016 +0.186 +0.039 )
body503_nut_prec_pm = ( 0. 0. 0. +0.033 -0.389 -0.082 )
Current values:
\begindata
BODY503_POLE_RA = ( 268.20 -0.009 0. )
BODY503_POLE_DEC = ( 64.57 0.003 0. )
BODY503_PM = ( 44.064 50.3176081 0. )
BODY503_LONG_AXIS = ( 0. )
BODY503_NUT_PREC_RA = ( 0. 0. 0. -0.037 0.431 0.091 )
BODY503_NUT_PREC_DEC = ( 0. 0. 0. -0.016 0.186 0.039 )
BODY503_NUT_PREC_PM = ( 0. 0. 0. 0.033 -0.389 -0.082 )
\begintext
Callisto
Old values:
body504_pole_ra = ( 268.72 -0.009 0. )
body504_pole_dec = ( +64.83 +0.003 0. )
body504_pm = ( 259.73 +21.5710715 0. )
body504_long_axis = ( 0. )
body504_nut_prec_ra = ( 0. 0. 0. 0. -0.068 +0.590 0. +0.010 )
body504_nut_prec_dec = ( 0. 0. 0. 0. -0.029 +0.254 0. -0.004 )
body504_nut_prec_pm = ( 0. 0. 0. 0. +0.061 -0.533 0. -0.009 )
Current values:
\begindata
BODY504_POLE_RA = ( 268.72 -0.009 0. )
BODY504_POLE_DEC = ( 64.83 0.003 0. )
BODY504_PM = ( 259.51 21.5710715 0. )
BODY504_LONG_AXIS = ( 0. )
BODY504_NUT_PREC_RA = ( 0. 0. 0. 0. -0.068 0.590 0. 0.010 )
BODY504_NUT_PREC_DEC = ( 0. 0. 0. 0. -0.029 0.254 0. -0.004 )
BODY504_NUT_PREC_PM = ( 0. 0. 0. 0. 0.061 -0.533 0. -0.009 )
\begintext
Amalthea
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY505_POLE_RA = ( 268.05 -0.009 0. )
BODY505_POLE_DEC = ( 64.49 0.003 0. )
BODY505_PM = ( 231.67 722.6314560 0. )
BODY505_LONG_AXIS = ( 0. )
BODY505_NUT_PREC_RA = ( -0.84 0. 0. 0. 0. 0. 0. 0. 0.01 0. )
BODY505_NUT_PREC_DEC = ( -0.36 0. 0. 0. 0. 0. 0. 0. 0. 0. )
BODY505_NUT_PREC_PM = ( 0.76 0. 0. 0. 0. 0. 0. 0. -0.01 0. )
\begintext
Thebe
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY514_POLE_RA = ( 268.05 -0.009 0. )
BODY514_POLE_DEC = ( 64.49 0.003 0. )
BODY514_PM = ( 8.56 533.7004100 0. )
BODY514_LONG_AXIS = ( 0. )
BODY514_NUT_PREC_RA = ( 0. -2.11 0. 0. 0. 0. 0. 0. 0. 0.04 )
BODY514_NUT_PREC_DEC = ( 0. -0.91 0. 0. 0. 0. 0. 0. 0. 0.01 )
BODY514_NUT_PREC_PM = ( 0. 1.91 0. 0. 0. 0. 0. 0. 0. -0.04 )
\begintext
Adrastea
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY515_POLE_RA = ( 268.05 -0.009 0. )
BODY515_POLE_DEC = ( 64.49 0.003 0. )
BODY515_PM = ( 33.29 1206.9986602 0. )
BODY515_LONG_AXIS = ( 0. )
\begintext
Metis
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY516_POLE_RA = ( 268.05 -0.009 0. )
BODY516_POLE_DEC = ( 64.49 0.003 0. )
BODY516_PM = ( 346.09 1221.2547301 0. )
BODY516_LONG_AXIS = ( 0. )
\begintext
Satellites of Saturn
Mimas
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY601_POLE_RA = ( 40.66 -0.036 0. )
BODY601_POLE_DEC = ( 83.52 -0.004 0. )
BODY601_PM = ( 337.46 381.9945550 0. )
BODY601_LONG_AXIS = ( 0. )
BODY601_NUT_PREC_RA = ( 0. 0. 13.56 0. 0. 0. 0. 0. 0. )
BODY601_NUT_PREC_DEC = ( 0. 0. -1.53 0. 0. 0. 0. 0. 0. )
BODY601_NUT_PREC_PM = ( 0. 0. -13.48 0. -44.85 0. 0. 0. 0. )
\begintext
Enceladus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY602_POLE_RA = ( 40.66 -0.036 0. )
BODY602_POLE_DEC = ( 83.52 -0.004 0. )
BODY602_PM = ( 2.82 262.7318996 0. )
BODY602_LONG_AXIS = ( 0. )
\begintext
Tethys
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY603_POLE_RA = ( 40.66 -0.036 0. )
BODY603_POLE_DEC = ( 83.52 -0.004 0. )
BODY603_PM = ( 10.45 190.6979085 0. )
BODY603_LONG_AXIS = ( 0. )
BODY603_NUT_PREC_RA = ( 0. 0. 0. 9.66 0. 0. 0. 0. 0. )
BODY603_NUT_PREC_DEC = ( 0. 0. 0. -1.09 0. 0. 0. 0. 0. )
BODY603_NUT_PREC_PM = ( 0. 0. 0. -9.60 2.23 0. 0. 0. 0. )
\begintext
Dione
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY604_POLE_RA = ( 40.66 -0.036 0. )
BODY604_POLE_DEC = ( 83.52 -0.004 0. )
BODY604_PM = ( 357.00 131.5349316 0. )
BODY604_LONG_AXIS = ( 0. )
\begintext
Rhea
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY605_POLE_RA = ( 40.38 -0.036 0. )
BODY605_POLE_DEC = ( 83.55 -0.004 0. )
BODY605_PM = ( 235.16 79.6900478 0. )
BODY605_LONG_AXIS = ( 0. )
BODY605_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 3.10 0. 0. 0. )
BODY605_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. -0.35 0. 0. 0. )
BODY605_NUT_PREC_PM = ( 0. 0. 0. 0. 0. -3.08 0. 0. 0. )
\begintext
Titan
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY606_POLE_RA = ( 36.41 -0.036 0. )
BODY606_POLE_DEC = ( 83.94 -0.004 0. )
BODY606_PM = ( 189.64 22.5769768 0. )
BODY606_LONG_AXIS = ( 0. )
BODY606_NUT_PREC_RA = ( 0. 0. 0. 0. 0. 0. 2.66 0. 0 )
BODY606_NUT_PREC_DEC = ( 0. 0. 0. 0. 0. 0. -0.30 0. 0 )
BODY606_NUT_PREC_PM = ( 0. 0. 0. 0. 0. 0. -2.64 0. 0 )
\begintext
Hyperion
The IAU report does not give an orientation model for Hyperion.
Hyperion's rotation is in chaotic and is not predictable for
long periods.
Iapetus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY608_POLE_RA = ( 318.16 -3.949 0. )
BODY608_POLE_DEC = ( 75.03 -1.143 0. )
BODY608_PM = ( 350.20 4.5379572 0. )
BODY608_LONG_AXIS = ( 0. )
\begintext
Phoebe
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY609_POLE_RA = ( 355.00 0. 0. )
BODY609_POLE_DEC = ( 68.70 0. 0. )
BODY609_PM = ( 304.70 930.8338720 0. )
BODY609_LONG_AXIS = ( 0. )
\begintext
Janus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY610_POLE_RA = ( 40.58 -0.036 0. )
BODY610_POLE_DEC = ( 83.52 -0.004 0. )
BODY610_PM = ( 58.83 518.2359876 0. )
BODY610_LONG_AXIS = ( 0. )
BODY610_NUT_PREC_RA = ( 0. -1.623 0. 0. 0. 0. 0. 0. 0.023 )
BODY610_NUT_PREC_DEC = ( 0. -0.183 0. 0. 0. 0. 0. 0. 0.001 )
BODY610_NUT_PREC_PM = ( 0. 1.613 0. 0. 0. 0. 0. 0. -0.023 )
\begintext
Epimetheus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY611_POLE_RA = ( 40.58 -0.036 0. )
BODY611_POLE_DEC = ( 83.52 -0.004 0. )
BODY611_PM = ( 293.87 518.4907239 0. )
BODY611_LONG_AXIS = ( 0. )
BODY611_NUT_PREC_RA = ( -3.153 0. 0. 0. 0. 0. 0. 0.086 0. )
BODY611_NUT_PREC_DEC = ( -0.356 0. 0. 0. 0. 0. 0. 0.005 0. )
BODY611_NUT_PREC_PM = ( 3.133 0. 0. 0. 0. 0. 0. -0.086 0. )
\begintext
Helene
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY612_POLE_RA = ( 40.85 -0.036 0. )
BODY612_POLE_DEC = ( 83.34 -0.004 0. )
BODY612_PM = ( 245.12 131.6174056 0. )
BODY612_LONG_AXIS = ( 0. )
\begintext
Telesto
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY613_POLE_RA = ( 50.51 -0.036 0. )
BODY613_POLE_DEC = ( 84.06 -0.004 0. )
BODY613_PM = ( 56.88 190.6979332 0. )
BODY613_LONG_AXIS = ( 0. )
\begintext
Calypso
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY614_POLE_RA = ( 36.41 -0.036 0. )
BODY614_POLE_DEC = ( 85.04 -0.004 0. )
BODY614_PM = ( 153.51 190.6742373 0. )
BODY614_LONG_AXIS = ( 0. )
\begintext
Atlas
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY615_POLE_RA = ( 40.58 -0.036 0. )
BODY615_POLE_DEC = ( 83.53 -0.004 0. )
BODY615_PM = ( 137.88 598.3060000 0. )
BODY615_LONG_AXIS = ( 0. )
\begintext
Prometheus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY616_POLE_RA = ( 40.58 -0.036 )
BODY616_POLE_DEC = ( 83.53 -0.004 )
BODY616_PM = ( 296.14 587.289000 )
BODY616_LONG_AXIS = ( 0. )
\begintext
Pandora
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY617_POLE_RA = ( 40.58 -0.036 0. )
BODY617_POLE_DEC = ( 83.53 -0.004 0. )
BODY617_PM = ( 162.92 572.7891000 0. )
BODY617_LONG_AXIS = ( 0. )
\begintext
Pan
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY618_POLE_RA = ( 40.6 -0.036 0. )
BODY618_POLE_DEC = ( 83.5 -0.004 0. )
BODY618_PM = ( 48.8 626.0440000 0. )
BODY618_LONG_AXIS = ( 0. )
\begintext
Satellites of Uranus
Ariel
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY701_POLE_RA = ( 257.43 0. 0. )
BODY701_POLE_DEC = ( -15.10 0. 0. )
BODY701_PM = ( 156.22 -142.8356681 0. )
BODY701_LONG_AXIS = ( 0. )
BODY701_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.29 )
BODY701_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0.28 )
BODY701_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0.05 0.08 )
\begintext
Umbriel
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY702_POLE_RA = ( 257.43 0. 0. )
BODY702_POLE_DEC = ( -15.10 0. 0. )
BODY702_PM = ( 108.05 -86.8688923 0. )
BODY702_LONG_AXIS = ( 0. )
BODY702_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0.21 )
BODY702_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0.20 )
BODY702_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. -0.09 0. 0.06 )
\begintext
Titania
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY703_POLE_RA = ( 257.43 0. 0. )
BODY703_POLE_DEC = ( -15.10 0. 0. )
BODY703_PM = ( 77.74 -41.3514316 0. )
BODY703_LONG_AXIS = ( 0. )
BODY703_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0.29 )
BODY703_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0.28 )
BODY703_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0. 0. 0. 0. 0.08 )
\begintext
Oberon
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY704_POLE_RA = ( 257.43 0. 0. )
BODY704_POLE_DEC = ( -15.10 0. 0. )
BODY704_PM = ( 6.77 -26.7394932 0. )
BODY704_LONG_AXIS = ( 0. )
BODY704_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.16 )
BODY704_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.16 )
BODY704_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0. 0.04 )
\begintext
Miranda
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY705_POLE_RA = ( 257.43 0. 0. )
BODY705_POLE_DEC = ( -15.08 0. 0. )
BODY705_PM = ( 30.70 -254.6906892 0. )
BODY705_LONG_AXIS = ( 0. )
BODY705_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
4.41 0. 0. 0. 0.
0. -0.04 0. )
BODY705_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
4.25 0. 0. 0. 0.
0. -0.02 0. )
BODY705_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
1.15 -1.27 0. 0. 0.
0. -0.09 0.15 )
\begintext
Cordelia
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY706_POLE_RA = ( 257.31 0. 0. )
BODY706_POLE_DEC = ( -15.18 0. 0. )
BODY706_PM = ( 127.69 -1074.5205730 0. )
BODY706_LONG_AXIS = ( 0. )
BODY706_NUT_PREC_RA = ( -0.15 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY706_NUT_PREC_DEC = ( 0.14 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY706_NUT_PREC_PM = ( -0.04 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Ophelia
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY707_POLE_RA = ( 257.31 0. 0. )
BODY707_POLE_DEC = ( -15.18 0. 0. )
BODY707_PM = ( 130.35 -956.4068150 0. )
BODY707_LONG_AXIS = ( 0. )
BODY707_NUT_PREC_RA = ( 0. -0.09 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY707_NUT_PREC_DEC = ( 0. 0.09 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY707_NUT_PREC_PM = ( 0. -0.03 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Bianca
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY708_POLE_RA = ( 257.31 0. 0. )
BODY708_POLE_DEC = ( -15.18 0. 0. )
BODY708_PM = ( 105.46 -828.3914760 0. )
BODY708_LONG_AXIS = ( 0. )
BODY708_NUT_PREC_RA = ( 0. 0. -0.16 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY708_NUT_PREC_DEC = ( 0. 0. 0.16 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY708_NUT_PREC_PM = ( 0. 0. -0.04 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Cressida
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY709_POLE_RA = ( 257.31 0. 0. )
BODY709_POLE_DEC = ( -15.18 0. 0. )
BODY709_PM = ( 59.16 -776.5816320 0. )
BODY709_LONG_AXIS = ( 0. )
BODY709_NUT_PREC_RA = ( 0. 0. 0. -0.04 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY709_NUT_PREC_DEC = ( 0. 0. 0. 0.04 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY709_NUT_PREC_PM = ( 0. 0. 0. -0.01 0.
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Desdemona
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY710_POLE_RA = ( 257.31 0. 0. )
BODY710_POLE_DEC = ( -15.18 0. 0. )
BODY710_PM = ( 95.08 -760.0531690 0. )
BODY710_LONG_AXIS = ( 0. )
BODY710_NUT_PREC_RA = ( 0. 0. 0. 0. -0.17
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY710_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.16
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY710_NUT_PREC_PM = ( 0. 0. 0. 0. -0.04
0. 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Juliet
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY711_POLE_RA = ( 257.31 0. 0. )
BODY711_POLE_DEC = ( -15.18 0. 0. )
BODY711_PM = ( 302.56 -730.1253660 0. )
BODY711_LONG_AXIS = ( 0. )
BODY711_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
-0.06 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY711_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0.06 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY711_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
-0.02 0. 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Portia
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY712_POLE_RA = ( 257.31 0. 0. )
BODY712_POLE_DEC = ( -15.18 0. 0. )
BODY712_PM = ( 25.03 -701.4865870 0. )
BODY712_LONG_AXIS = ( 0. )
BODY712_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. -0.09 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY712_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0.09 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY712_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. -0.02 0. 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Rosalind
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY713_POLE_RA = ( 257.31 0. 0. )
BODY713_POLE_DEC = ( -15.18 0. 0. )
BODY713_PM = ( 314.90 -644.6311260 0. )
BODY713_LONG_AXIS = ( 0. )
BODY713_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. -0.29 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY713_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0.28 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY713_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. -0.08 0. 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Belinda
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY714_POLE_RA = ( 257.31 0. 0. )
BODY714_POLE_DEC = ( -15.18 0. 0. )
BODY714_PM = ( 297.46 -577.3628170 0. )
BODY714_LONG_AXIS = ( 0. )
BODY714_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. -0.03 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY714_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0.03 0.
0. 0. 0. 0. 0.
0. 0. 0. )
BODY714_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. -0.01 0.
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Puck
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY715_POLE_RA = ( 257.31 0. 0. )
BODY715_POLE_DEC = ( -15.18 0. 0. )
BODY715_PM = ( 91.24 -472.5450690 0. )
BODY715_LONG_AXIS = ( 0. )
BODY715_NUT_PREC_RA = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. -0.33
0. 0. 0. 0. 0.
0. 0. 0. )
BODY715_NUT_PREC_DEC = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. 0.31
0. 0. 0. 0. 0.
0. 0. 0. )
BODY715_NUT_PREC_PM = ( 0. 0. 0. 0. 0.
0. 0. 0. 0. -0.09
0. 0. 0. 0. 0.
0. 0. 0. )
\begintext
Satellites of Neptune
Triton
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY801_POLE_RA = ( 299.36 0. 0. )
BODY801_POLE_DEC = ( 41.17 0. 0. )
BODY801_PM = ( 296.53 -61.2572637 0. )
BODY801_LONG_AXIS = ( 0. )
BODY801_NUT_PREC_RA = ( 0. 0. 0. 0.
0. 0. 0. -32.35
0. -6.28 -2.08 -0.74
-0.28 -0.11 -0.07 -0.02
-0.01 )
BODY801_NUT_PREC_DEC = ( 0. 0. 0. 0.
0. 0. 0. 22.55
0. 2.10 0.55 0.16
0.05 0.02 0.01 0.
0. )
BODY801_NUT_PREC_PM = ( 0. 0. 0. 0.
0. 0. 0. 22.25
0. 6.73 2.05 0.74
0.28 0.11 0.05 0.02
0.01 )
\begintext
Nereid
Old values:
Values are from the 1988 IAU report. Note that this
rotation model pre-dated the 1989 Voyager 2 Neptune
encounter.
body802_pole_ra = ( 273.48 0. 0. )
body802_pole_dec = ( 67.22 0. 0. )
body802_pm = ( 237.22 0.9996465 0. )
body802_long_axis = ( 0. )
The report seems to have a typo: in the nut_prec_ra expression,
where the report gives -0.51 sin 3N3, we use -0.51 3N2.
body802_nut_prec_ra = ( 0. -17.81
0. 0. 0. 0.
0. 0. 0.
2.56 -0.51 0.11 -0.03 )
body802_nut_prec_dec = ( 0. -6.67
0. 0. 0. 0.
0. 0. 0.
0.47 -0.07 0.01 )
body802_nut_prec_pm = ( 0. 16.48
0. 0. 0. 0.
0. 0. 0.
-2.57 0.51 -0.11 0.02 )
Current values:
The 2000 report [2] states that values for Nereid are not
given because Nereid is not in synchronous rotation with Neptune
(note (j), p.99).
Naiad
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY803_POLE_RA = ( 299.36 0. 0. )
BODY803_POLE_DEC = ( 43.36 0. 0. )
BODY803_PM = ( 254.06 +1222.8441209 0. )
BODY803_LONG_AXIS = ( 0. )
BODY803_NUT_PREC_RA = ( 0.70 -6.49 0. 0.
0. 0. 0. 0.
0.25 0. 0. 0.
0. 0. 0. 0.
0. )
BODY803_NUT_PREC_DEC = ( -0.51 -4.75 0. 0.
0. 0. 0. 0.
0.09 0. 0. 0.
0. 0. 0. 0.
0. )
BODY803_NUT_PREC_PM = ( -0.48 4.40 0. 0.
0. 0. 0. 0.
-0.27 0. 0. 0.
0. 0. 0. 0.
0. )
\begintext
Thalassa
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY804_POLE_RA = ( 299.36 0. 0. )
BODY804_POLE_DEC = ( 43.45 0. 0. )
BODY804_PM = ( 102.06 1155.7555612 0. )
BODY804_LONG_AXIS = ( 0. )
BODY804_NUT_PREC_RA = ( 0.70 0. -0.28 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY804_NUT_PREC_DEC = ( -0.51 0. -0.21 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY804_NUT_PREC_PM = ( -0.48 0. 0.19 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
\begintext
Despina
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY805_POLE_RA = ( 299.36 0. 0. )
BODY805_POLE_DEC = ( 43.45 0. 0. )
BODY805_PM = ( 306.51 +1075.7341562 0. )
BODY805_LONG_AXIS = ( 0. )
BODY805_NUT_PREC_RA = ( 0.70 0. 0. -0.09
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY805_NUT_PREC_DEC = ( -0.51 0. 0. -0.07
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY805_NUT_PREC_PM = ( -0.49 0. 0. 0.06
0. 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
\begintext
Galatea
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY806_POLE_RA = ( 299.36 0. 0. )
BODY806_POLE_DEC = ( 43.43 0. 0. )
BODY806_PM = ( 258.09 839.6597686 0. )
BODY806_LONG_AXIS = ( 0. )
BODY806_NUT_PREC_RA = ( 0.70 0. 0. 0.
-0.07 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY806_NUT_PREC_DEC = ( -0.51 0. 0. 0.
-0.05 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY806_NUT_PREC_PM = ( -0.48 0. 0. 0.
0.05 0. 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
\begintext
Larissa
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY807_POLE_RA = ( 299.36 0. 0. )
BODY807_POLE_DEC = ( 43.41 0. 0. )
BODY807_PM = ( 179.41 +649.0534470 0. )
BODY807_LONG_AXIS = ( 0. )
BODY807_NUT_PREC_RA = ( 0.70 0. 0. 0.
0. -0.27 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY807_NUT_PREC_DEC = ( -0.51 0. 0. 0.
0. -0.20 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY807_NUT_PREC_PM = ( -0.48 0. 0. 0.
0. 0.19 0. 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
\begintext
Proteus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY808_POLE_RA = ( 299.27 0. 0. )
BODY808_POLE_DEC = ( 42.91 0. 0. )
BODY808_PM = ( 93.38 +320.7654228 0. )
BODY808_LONG_AXIS = ( 0. )
BODY808_NUT_PREC_RA = ( 0.70 0. 0. 0.
0. 0. -0.05 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY808_NUT_PREC_DEC = ( -0.51 0. 0. 0.
0. 0. -0.04 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
BODY808_NUT_PREC_PM = ( -0.48 0. 0. 0.
0. 0. 0.04 0.
0. 0. 0. 0.
0. 0. 0. 0.
0. )
\begintext
Satellites of Pluto
Charon
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY901_POLE_RA = ( 313.02 0. 0. )
BODY901_POLE_DEC = ( 9.09 0. 0. )
BODY901_PM = ( 56.77 -56.3623195 0. )
BODY901_LONG_AXIS = ( 0. )
\begintext
Orientation constants for Asteroids Gaspra, Ida, Vesta, and Eros
--------------------------------------------------------
Gaspra
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY9511010_POLE_RA = ( 9.47 0. 0. )
BODY9511010_POLE_DEC = ( 26.70 0. 0. )
BODY9511010_PM = ( 83.67 1226.9114850 0. )
BODY9511010_LONG_AXIS = ( 0. )
\begintext
Ida
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY2431010_POLE_RA = ( 348.76 0. 0. )
BODY2431010_POLE_DEC = ( 87.12 0. 0. )
BODY2431010_PM = ( 265.95 -1864.6280070 0. )
BODY2431010_LONG_AXIS = ( 0. )
\begintext
Vesta
Current values:
\begindata
BODY2000004_POLE_RA = ( 301. 0. 0. )
BODY2000004_POLE_DEC = ( 41. 0. 0. )
BODY2000004_PM = ( 292. 1617.332776 0. )
BODY2000004_LONG_AXIS = ( 0. )
\begintext
Eros
Current values:
\begindata
BODY2000433_POLE_RA = ( 11.35 0. 0. )
BODY2000433_POLE_DEC = ( 17.22 0. 0. )
BODY2000433_PM = ( 326.07 1639.38864745 0. )
BODY2000433_LONG_AXIS = ( 0. )
\begintext
Radii of Sun and Planets
--------------------------------------------------------
Sun
Value for the Sun is from the [7], page K7.
\begindata
BODY10_RADII = ( 696000. 696000. 696000. )
\begintext
Mercury
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY199_RADII = ( 2439.7 2439.7 2439.7 )
\begintext
Venus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY299_RADII = ( 6051.8 6051.8 6051.8 )
\begintext
Earth
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY399_RADII = ( 6378.14 6378.14 6356.75 )
\begintext
Mars
Old values:
body499_radii = ( 3397. 3397. 3375. )
Current values:
The IAU report gives separate values for the north and south
polar radii:
north: 3373.19
south: 3379.21
We use the average of these values as the polar radius for
the triaxial model.
\begindata
BODY499_RADII = ( 3396.19 3396.19 3376.20 )
\begintext
Jupiter
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY599_RADII = ( 71492 71492 66854 )
\begintext
Saturn
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY699_RADII = ( 60268 60268 54364 )
\begintext
Uranus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY799_RADII = ( 25559 25559 24973 )
\begintext
Neptune
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
(Values are for the 1 bar pressure level.)
\begindata
BODY899_RADII = ( 24764 24764 24341 )
\begintext
Pluto
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY999_RADII = ( 1195 1195 1195 )
\begintext
Radii of Satellites
--------------------------------------------------------
Moon
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY301_RADII = ( 1737.4 1737.4 1737.4 )
\begintext
Satellites of Mars
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY401_RADII = ( 13.4 11.2 9.2 )
BODY402_RADII = ( 7.5 6.1 5.2 )
\begintext
Satellites of Jupiter
Old values:
Old values for Io, Europa, Ganymede, Callisto and Amalthea.
These are from the 1997 IAU report.
body501_radii = ( 1826. 1815. 1812. )
body502_radii = ( 1562. 1560. 1559. )
body503_radii = ( 2635. 2633. 2633. )
body504_radii = ( 2409. 2409. 2409. )
body505_radii = ( 131. 73. 67. )
body506_radii = ( 85 85 85 )
body507_radii = ( 40 40 40 )
body508_radii = ( 18 18 18 )
body509_radii = ( 14 14 14 )
body510_radii = ( 12 12 12 )
body511_radii = ( 15 15 15 )
body512_radii = ( 10 10 10 )
body513_radii = ( 5 5 5 )
body514_radii = ( 50 50 50 )
body515_radii = ( 13 10 8 )
body516_radii = ( 20 20 20 )
Current values:
\begindata
BODY501_RADII = ( 1829.4 1819.3 1815.7 )
BODY502_RADII = ( 1564.13 1561.23 1560.93 )
BODY503_RADII = ( 2632.4 2632.29 2632.35 )
BODY504_RADII = ( 2409.4 2409.2 2409.3 )
BODY505_RADII = ( 125 73 64 )
\begintext
Only mean radii are available in the 2000 IAU report for bodies
506-513.
\begindata
BODY506_RADII = ( 85 85 85 )
BODY507_RADII = ( 40 40 40 )
BODY508_RADII = ( 18 18 18 )
BODY509_RADII = ( 14 14 14 )
BODY510_RADII = ( 12 12 12 )
BODY511_RADII = ( 15 15 15 )
BODY512_RADII = ( 10 10 10 )
BODY513_RADII = ( 5 5 5 )
BODY514_RADII = ( 58 49 42 )
BODY515_RADII = ( 10 8 7 )
\begintext
The value for the second radius for body 516 is not given in
2000 IAU report. The values given are:
BODY516_RADII = ( 30 --- 20 )
For use within the SPICE system, we use only the mean radius.
\begindata
BODY516_RADII = ( 21.5 21.5 21.5 )
\begintext
Satellites of Saturn
Old values:
body601_radii = ( 210.3 197.4 192.6 )
body602_radii = ( 256.2 247.3 244.0 )
body603_radii = ( 535.6 528.2 525.8 )
body604_radii = ( 560. 560. 560. )
body605_radii = ( 764. 764. 764. )
body606_radii = ( 2575. 2575. 2575. )
body607_radii = ( 180. 140. 112.5 )
body608_radii = ( 718. 718. 718. )
body609_radii = ( 115. 110. 105. )
body610_radii = ( 97. 95. 77. )
body611_radii = ( 69. 55. 55. )
body612_radii = ( 16 16 16 )
body613_radii = ( 15 12.5 7.5 )
body614_radii = ( 15 8 8 )
body615_radii = ( 18.5 17.2 13.5 )
body616_radii = ( 74 50 34 )
body617_radii = ( 55 44 31 )
body618_radii = ( 10 10 10 )
Current values:
\begindata
BODY601_RADII = ( 209.1 196.2 191.4 )
BODY602_RADII = ( 256.3 247.3 244.6 )
BODY603_RADII = ( 535.6 528.2 525.8 )
BODY604_RADII = ( 560 560 560 )
BODY605_RADII = ( 764 764 764 )
BODY606_RADII = ( 2575 2575 2575 )
BODY607_RADII = ( 164 130 107 )
BODY608_RADII = ( 718 718 718 )
BODY609_RADII = ( 115 110 105 )
BODY610_RADII = ( 97.0 95.0 77.0 )
BODY611_RADII = ( 69.0 55.0 55.0 )
\begintext
Only the first equatorial radius for Helene (body 612) is given in the
2000 IAU report:
BODY612_RADII = ( 17.5 --- --- )
The mean radius is 16km; we use this radius for all three axes, as
we do for the satellites for which only the mean radius is available.
\begindata
BODY612_RADII = ( 16 16 16 )
BODY613_RADII = ( 15 12.5 7.5 )
BODY614_RADII = ( 15.0 8.0 8.0 )
BODY615_RADII = ( 18.5 17.2 13.5 )
BODY616_RADII = ( 74.0 50.0 34.0 )
BODY617_RADII = ( 55.0 44.0 31.0 )
\begintext
For Pan, only a mean radius is given in the 2000 report.
\begindata
BODY618_RADII = ( 10 10 10 )
\begintext
Satellites of Uranus
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY701_RADII = ( 581.1 577.9 577.7 )
BODY702_RADII = ( 584.7 584.7 584.7 )
BODY703_RADII = ( 788.9 788.9 788.9 )
BODY704_RADII = ( 761.4 761.4 761.4 )
BODY705_RADII = ( 240.4 234.2 232.9 )
\begintext
The 2000 report gives only mean radii for satellites 706--715.
\begindata
BODY706_RADII = ( 13 13 13 )
BODY707_RADII = ( 15 15 15 )
BODY708_RADII = ( 21 21 21 )
BODY709_RADII = ( 31 31 31 )
BODY710_RADII = ( 27 27 27 )
BODY711_RADII = ( 42 42 42 )
BODY712_RADII = ( 54 54 54 )
BODY713_RADII = ( 27 27 27 )
BODY714_RADII = ( 33 33 33 )
BODY715_RADII = ( 77 77 77 )
\begintext
Satellites of Neptune
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
The 2000 report gives mean radii only for bodies 801-806.
\begindata
BODY801_RADII = ( 1352.6 1352.6 1352.6 )
BODY802_RADII = ( 170 170 170 )
BODY803_RADII = ( 29 29 29 )
BODY804_RADII = ( 40 40 40 )
BODY805_RADII = ( 74 74 74 )
BODY806_RADII = ( 79 79 79 )
\begintext
The second equatorial radius for Larissa is not given in the 2000
report. The available values are:
BODY807_RADII = ( 104 --- 89 )
For use within the SPICE system, we use only the mean radius.
\begindata
BODY807_RADII = ( 96 96 96 )
BODY808_RADII = ( 218 208 201 )
\begintext
Satellites of Pluto
Old values:
Values are unchanged in the 2000 IAU report.
Current values:
\begindata
BODY901_RADII = ( 593 593 593 )
\begintext
Radii of Selected Asteroids
--------------------------------------------------------
Gaspra
Current values:
\begindata
BODY9511010_RADII = ( 9.1 5.2 4.4 )
\begintext
Ida
Current values:
\begindata
BODY2431010_RADII = ( 26.8 12.0 7.6 )
\begintext
Kleopatra
Current values:
\begindata
BODY2000216_RADII = ( 108.5 47 40.5 )
\begintext
Eros
Current values:
\begindata
BODY2000433_RADII = ( 7.311 7.311 7.311 )
\begintext
===========================================================================
End of file pck00008.tpc
===========================================================================
......@@ -36,7 +36,10 @@ theme:
nav:
- Home: index.md
- Getting Started: getting-started/index.md
- Getting Started:
- Home: getting-started/index.md
- CSM Stack:
- Generating an ISD, creating a CSM model, and converting coordinates: getting-started/CSM Stack/ImageToGroundTutorial.ipynb
- How-To Guides:
- Home: how-to-guides/index.md
- Software Management:
......@@ -61,6 +64,8 @@ extra_javascript:
plugins:
- search
- mkdocs-jupyter:
include_source: true
markdown_extensions:
- neoteroi.cards
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment