PDS_VERSION_ID = PDS3
RECORD_TYPE = STREAM
RECORD_BYTES = 80
OBJECT = TEXT
PUBLICATION_DATE = 2008-07-28
NOTE = "Software Interface Specification for
the Spherical Harmonics Binary Data
Record (SHBDR) file. Formatted for
display or printing at 60 lines per
page with up to 78 constant width
characters per line."
END_OBJECT = TEXT
END
SOFTWARE INTERFACE SPECIFICATION
SPHERICAL HARMONICS BINARY DATA RECORD (SHBDR)
prepared by
Frank G. Lemoine
Code 698, Planetary Geodynamics Laboratory
NASA Goddard Space Flight Center
Greenbelt, Maryland, 20771 USA
Peggy L. Jester
SGT, Inc / Code 614.1
NASA GSFC / Wallops Flight Facility
Wallops Island, VA 23337 USA
Version 1.2
28 July 2008
|====================================================================|
| |
| DOCUMENT CHANGE LOG |
| |
|====================================================================|
|REVISION|REVISION | SECTION | REMARK |
| NUMBER | DATE | AFFECTED | |
|--------+--------+------------+-------------------------------------|
| 1.0 |06/02/20 | All |Adapted MGS SHBDR SIS to include |
| | | |Mars Reconnaissance Orbiter and |
| | | |MESSENGER. |
|--------+--------+------------+-------------------------------------|
| 1.0 |06/03/15 | All |Miscellaneous edits |
| | | | |
|====================================================================|
| 1.0 |06/06/29 | All |Integrate PDS review comments |
|====================================================================|
| 1.1 |05/04/29 | All |Fix minor formatting issues |
|====================================================================|
| 1.2 |08/07/28 | 2.3 |Updated file naming convention |
| | | | for MRO |
|====================================================================|
Contents
Document Change Log............................................ii
Contents.......................................................iii
Acronyms and Abbreviations......................................v
1. General Description..........................................1
1.1. Overview.................................................1
1.2. Scope..................................................É.1
1.3. Applicable Documents....................................1
1.4. System Siting............................................2
1.4.1. Interface Location and Medium....................É2
1.4.2. Data Sources, Transfer Methods, and Destinations....2
1.4.3. Generation Method and Frequency......................3
1.5. Assumptions and Constraints..............................3
1.5.1. Usage Constraints....................................3
1.5.2. Priority Phasing Constraints.........................3
1.5.3. Explicit and Derived Constraints.....................3
1.5.4. Documentation Conventions............................3
1.5.4.1. Data Format Descriptions.........................3
1.5.4.2. Time Standards...................................4
1.5.4.3. Coordinate Systems...............................4
1.5.4.4. Limits of This Document..........................4
1.5.4.5. Typographic Conventions..........................4
2. Interface Characteristics....................................5
2.1. Hardware Characteristics and Limitations.................5
2.1.1. Special Equipment and Device Interfaces..............5
2.1.2. Special Setup Requirements...........................5
2.2. Volume and Size..........................................5
2.3. Labeling and Identification..............................5
2.4. Interface Medium Characteristics.........................6
2.5. Failure Protection, Detection, and Recovery Procedures...6
2.6. End-of-File Conventions..................................6
3. Access.......................................................7
3.1. Programs Using the Interface.............................7
3.2. Synchronization Considerations...........................7
3.2.1. Timing and Sequencing Considerations.................7
3.2.2. Effective Duration...................................7
3.2.3. Priority Interrupts..................................7
3.3. Input/Output Protocols, Calling Sequences................7
4. Detailed Interface Specifications............................8
4.1. Structure and Organization Overview......................8
4.2. Detached PDS Label.......................................8
4.2.1. Label Header.........................................8
4.2.2. TABLE Object Definitions............................12
4.2.2.1. SHBDR Header Object Definition....................12
4.2.2.2. SHBDR Names Object Definition.....................14
4.2.2.3. SHBDR Coefficient Object Definition...............14
4.2.2.4 SHBDR Covariance Object Definition................15
4.3. Data File...............................................17
4.3.1. SHBDR Header Object/Block...........................17
4.3.2. SHBDR Name Block....................................18
4.3.3. SHBDR Coefficients Block............................18
4.3.4. SHBDR Covariances Block.............................18
5. Support Staff and Cognizant Personnel.......................19
Appendix A. Description of Spherical Harmonic Model Normalization.20
A.1 Definition of Model for the Potential....................20
A.2 Definition of the normalization used.....................21
Appendix B. Binary Data Format................................22
B.1. IEEE Integer Fields.....................................22
B.2. IEEE Floating-Point Fields..............................22
Appendix C. Example Data Products.............................24
C.1. Example Label...........................................24
C.2. Example Data Object.....................................30
Tables
4-3-1. SHBDR Header Block....................................17
4-3-2. SHBDR Names Block.....................................18
4-3-3. SHBDR Coefficients Block..............................18
4-3-4. SHBDR Covariance Block................................19
Figures
4-2-1. SHBDR Label Header.....................................9
ACRONYMS AND ABBREVIATIONS
ANSI American National Standards Institute
APL Applied Physics Laboratory
ARC Ames Research Center
ARCDR Altimetry and Radiometry Composite Data Record
ASCII American Standard Code for Information Interchange
CCSDS Consultative Committee for Space Data Systems
CD-WO Compact-disc write-once
CNES Centre National d'Etudes Spatiales
CR Carriage Return
dB Decibel
DSN Deep Space Network
DVD Digital Video Disc or Digital Versatile Disc
EGM96 Earth Gravitational Model 1996
FEA Front End Assembly
GSFC Goddard Space Flight Center
IEEE Institute of Electrical and Electronic Engineers
IAU International Astronomical Union
JHU Johns Hopkins University
JPL Jet Propulsion Laboratory
J2000 IAU Official Time Epoch
K Degrees Kelvin
kB Kilobytes
km Kilometers
LAST Laser Altimeter Science Team (MESSENGER)
LF Line Feed
LP Lunar Prospector (mission or spacecraft)
MB Megabytes
MESSENGER MErcury Surface Space ENvironment, GEochemistry,
and Ranging (acronym for mission to Mercury)
MGN Magellan
MGS Mars Global Surveyor
MIT Massachusetts Institute of Technology
MLA MESSENGER Laser Altimeter
MO Mars Observer
MRO Mars Reconnaissance Orbiter
NAIF Navigation and Ancillary Information Facility
NASA National Aeronautics and Space Administration
NAV Navigation Subsystem/Team
ODL Object Definition Language (PDS)
PDB Project Data Base
PDS Planetary Data System
RST Radio Science Team
SCET Space Craft Event Time
SFDU Standard Formatted Data Unit
SHADR Spherical Harmonics ASCII Data Record
SHBDR Spherical Harmonics Binary Data Record
SHM Spherical Harmonics Model
SIS Software Interface Specification
SPARC Sun Scaleable Processor Architecture
SPK Spacecraft and Planet Kernel Format, from NAIF
TBD To Be Determined
UTC Universal Time Coordinated
1. GENERAL DESCRIPTION
1.1. Overview
This Software Interface Specification (SIS) describes Spherical
Harmonics Binary Data Record (SHBDR) files. The SHBDR is intended to
be general and may contain coefficients for spherical harmonic
expansions of gravity, topography, magnetic, and other fields.
1.2. Scope
The format and content specifications in this SIS apply to all
phases of the project for which a SHBDR is produced.
The SHBDR was defined initially for gravity models derived from
Magellan (MGN and Mars Observer (MO) radio tracking data [1], but
the format is more generally useful. The original SHBDR has been
adapted for the Mars Global Surveyor (MGS) and the Lunar Prospector (LP)
missions; this is the adaptation for the Mars Reconnaissance Orbiter (MRO)
and MESSENGER missions. Specifics of the various models are included
in [2], which will be updated as data for new spherical harmonic models
are incorporated within the SHADR definition. A Spherical Harmonic
ASCII Data Record is also defined [3], which may be more suitable when
error covariances are not included in the final product.
The Jet Propulsion Laboratory (JPL), Pasadena, California, manages the Mars Reconnaissance Orbiter Mission [4], and the Mars Global Surveyor Mission for the National Aeronautics and Space Administration (NASA). The Johns Hopkins University, Laurel, Maryland, USA manages the MESSENGER
mission [5,6] for NASA.
1.3. Applicable Documents
[1] Tyler, G.L., G. Balmino, D.P. Hinson, W.L. Sjogren, D.E. Smith, R. Woo,
S.W. Asmar, M.J. Connally, C.L. Hamilton, and R.A. Simpson, Radio Science
Investigations with Mars Observer, J. Geophys. Res., 97, 7759-7779, 1992.
[2] Simpson, R.A., Interpretation and Use of Spherical Harmonics ASCII Data
Record (SHADR) and Spherical Harmonics Binary Data Record (SHBDR), Version
1.0, 1993.
[3] Lemoine, F.G., Software Interface Specification: Spherical Harmonics
ASCII Data Record (SHADR), 2006.
[4] Mars Reconnaissance Orbiter Mission Plan, Revision C: July 2005, prepared
by Robert Lock. Document JPL D-22239, MRO-31-201.
[5] McAdams, J. V. (JHU/APL), MESSENGER mission overview and trajectory
design, American Institute of Aeronautics and Astronautics, American
Astronautical Society (AIAA/AAS) Astrodynamics Specialist Conference,
Paper AAS 03-541, 20 pp., Big Sky, MT, August 3-7, 2003.
[6] McAdams, J. V., D. W. Dunham, R. W. Farquhar, A. H. Taylor, and
B. G. Williams, Trajectory design and maneuver strategy for the MESSENGER
mission to Mercury, 15th American Astronautical Society (AAS)/American
Institute of Aeronautics and Astronautics (AIAA) Space Flight Mechanics
Conference, Paper AAS 05-173, 21 pp., Copper Mountain, CO, Jan. 23-27, 2005.
[7] Seidelmann, P.K., V.K. Abalakin, M. Bursa, M. E. Davies, C. de Bergh,
J. H. Lieske, J. Oberst, J. L. Simon, E. M. Standish, P. Stooke, P. C.
Thomas, Report of the IAU/IAG Working Group on Cartographic Coordinates and Rotational Elements of the Planets and Satellites: 2000, Celes. Mechanics and Dyn. Astronomy, 82, 83-110, Dec 2002.
[8] MRO-D-22685, Rev B., Planetary Constants and Models, 05-15-2003.
[9] Konopliv, A.S, C.F. Yoder, E. M. Standish, D.-N. Yuan, and W. L. Sjogren,
A global solution for the Mars static and seasonal gravity, Mars orientation,
Phobos, Deimos Masses, and Mars Ephemeris, Icarus, 182(1), 23-50, 2006.
[10] Konopliv A.S., S.W. Asmar, E. Carranza, W.L. Sjogren, and D.N. Yuan, Recent Gravity models as a results of the Lunar
Prospector Mission, Icarus, 150, 1-18, 2001.
[11] Lambeck, Kurt, Geophysical Geodesy, Oxford University Press,
Oxford, UK, 1988.
[12] Kaula, William M., Theory of Satellite Geodesy, Applications of
satellites to geodesy, Dover Publications, Mineola, NY, 2000.
[13] Lemoine, F.G., S.C. Kenyon, J.K. Factor, R.G. Trimmer, N.K. Pavlis, C.M.
Cox, S.M. Klosko, S.B. Luthcke, M.H. Torrence, Y.M. Wang, R.G. Williamson,
E.C. Pavlis, R.H. Rapp and T.R. Olson, The Development of the Joint NASA GSFC
and the National Imagery and Mapping Agency (NIMA) Geopotential Model EGM96,
NASA/TP-1998-206861, NASA Goddard Space Flight Center,
Greenbelt, Maryland 20771, July 1998.
[14] JPL D-7116, Rev. E, Planetary Science Data Dictionary Document,
Jet Propulsion Laboratory, Pasadena, California, August 28, 2002.
(http://pds.jpl.nasa.gov/documents/psdd/psdd.pdf)
[15] JPL D-7669 Part 2, Planetary Data System Standards Reference,
PDS Version 3.6, Jet Propulsion Laboratory, August 1, 2003.
(http://pds.jpl.nasa.gov/documents/sr/index.html)
1.4. System Siting
1.4.1. Interface Location and Medium
SHBDR files are created at the institution conducting the science
analysis. SHBDR files can be electronic files or can be stored
on compact-disc write-once (CD-WO) or DVD type media.
1.4.2. Data Sources, Transfer Methods, and Destinations
SHBDR files are created from radio tracking, vertical sounding,
in situ, and/or other measurements at the institution conducting the
scientific data analysis. They are transferred to and deposited
in a data system (such as the PDS) specified by the managing institution.
1.4.3. Generation Method and Frequency
Spherical Harmonic Models are developed separately at each
institution conducting scientific analyses on raw data; each model
meets criteria specified by the investigators conducting the analysis.
Each model requires data with complete sampling (in terms of longitude and
latitude coverage on the planet), so that SHBDR files will be
issued infrequently and on schedules which cannot be predicted at this time.
1.5. Assumptions and Constraints
1.5.1. Usage Constraints
None.
1.5.2. Priority Phasing Constraints
None.
1.5.3. Explicit and Derived Constraints
None.
1.5.4. Documentation Conventions
1.5.4.1. Data Format Descriptions
The reference data unit is the byte. Data may be stored in
fields with various sizes and formats, viz. one-, two-, and four-byte
binary integers, four- and eight-byte binary floating-point numbers,
and character strings. Data are identified throughout this document
as
char 8 bits character
uchar 8 bits integer
short 16 bits integer
long 32 bits integer
float 32 bits floating point (sign, exponent, and
mantissa)
double 64 bits floating point (sign, exponent, and
mantissa)
u (prefix) unsigned (as with ulong for
unsigned 32-bit integer)
other special data structures such as
time, date, etc. which are
described within this document
If a field is described as containing n bytes of ASCII
character string data, this implies that the leftmost (lowest
numbered) byte contains the first character, the next lowest byte
contains the second character, and so forth.
An array of n elements is written as array[n]; the first
element is array[0], and the last is array[n-1]. Array[n][m]
describes an n x m element array, with first element array[0][0],
second element array[0][1], and so forth.
Floating point (real) numbers are represented as double
precision character strings in the FORTRAN 1P1E23.16 format. Fixed
point (integer) numbers are represented using the FORTRAN I5 format.
1.5.4.2. Time Standards
SHBDR files use the January 1.5, 2000 epoch as the standard
time. Within the data files, all times are reported in Universal
Coordinated Time (UTC) as strings of 23 ASCII characters. The time
format is "YYYY-MM-DDThh:mm:ss.fff", where "-", "T", ":", and "." are
fixed delimiters; "YYYY" is the year "19nn" or "20nn"; "MM" is a two-
digit month of year; "DD" is a two-digit day of month; "T" separates
the date and time segments of the string; "hh" is hour of day; "mm" is
the minutes of hour (00-59); "ss" is the seconds of minute (00-59);
and "fff" is fractional seconds in milliseconds.
The date format is "YYYY-MM-DD", where the components are
defined as above.
1.5.4.3. Coordinate Systems
The SHBDR uses the appropriate planetocentric fixed body
coordinate system [7,8]. This may be an IAU system (e.g. IAU2000 [7]
or for the new body-fixed Mars reference frame defined by Konopliv
et al. [9]. At present, the MESSENGER mission has adopted the
IAU2000 model for Mercury [7].
The coordinate system for lunar geopotential models will be a body
figure axis system defined by the lunar librations, which are resolved by
lunar laser ranging [10], or a coarser frame defined by the IAU [7].
1.5.4.4. Limits of This Document
This document applies only to SHBDR data files.
1.5.4.5. Typographic Conventions
This document has been formatted for simple electronic file transfer and
display. Line lengths are limited to approximately 80 ASCII characters,
including line delimiters. No special fonts or structures are included within the file. Constant width characters are assumed for display.
2. INTERFACE CHARACTERISTICS
2.1. Hardware Characteristics and Limitations
2.1.1. Special Equipment and Device Interfaces
Users of the SHBDR product must have access to the data system
(or to media) on which SHBDR files are stored.
2.1.2. Special Setup Requirements
None.
2.2. Volume and Size
SHBDR products have variable length, depending on the degree and
order of the model and the number of tables included. A model of degree
and order N will include approximately N**2 terms and therefore
the number of terms in the covariance matrix will be of order N**4.
For 8-byte storage and N=50, the total SHBDR volume will be about 30 MB.
For N=100, the total SHBDR volume will be approximately 416 MB.
Vector quantities (e.g., magnetic field) may be described by a single
SHBDR (in which all components are represented) or by a separate SHBDR for
each field component. If the single SHBDR includes covariances, the file
size will be approximately 27 times larger than the combined volumes of
the three component files because of the inter-component covariance terms.
In general, the SHBDR is recommended over the SHADR [3] when the data
include error covariances because of the smaller data volume associated
with binary formats.
2.3. Labeling and Identification
The length of file names is limited to 27 or less characters before the period delimeter and 3 characters after the period delimeter.
Each file has a name which describes its contents. The name
includes the following structure which uniquely identifies
it among SHBDR products. Beginning with the MRO gravity products the following file naming convention is used:
GTsss_nnnnvv_SHB.DAT
where
"G" denotes the generating institution
"J" for the Jet Propulsion Laboratory
"G" or Goddard Space Flight Center
"C" or Centre National d'Etudes Spatiales
"M" for Massachusetts Institute of Technology
"T" indicates the type of data represented
"G" for gravity field
"T" for topography
"M" for magnetic field
"sss" is a 3-character modifier specified by the data producer. This
modifier is used to indicate the source spacecraft or Project,
such as MRO for the Mars Reconnaisance Orbiter.
"_" the underscore character is used to delimit modifiers in the
file name for clarity.
"nnnnvv" is a 4- to 6-character modifier specified by the data
producer. Among other things, this modifier may be
used to indicate the target body, whether the SHBDR
contains primary data values as specified by "T" or
uncertainties/errors, and/or the version number. For MRO, this
modifier indicates the degree and order of the solution for the
gravity field, topography or magnetic field.
"_" the underscore character is used to delimit modifiers in the
file name for clarity.
"SHBÓ denotes that this is a Binary file of Spherical
Harmonic coefficients and error covariance information
".DAT" indicates the data is stored in binary format.
Each SHBDR file is accompanied by a detached PDS label; that
label is a file in its own right, having the name GTsss_nnnnvv_SHB.LBL.
2.4. Interface Medium Characteristics
SHBDR products are electronic files.
2.5. Failure Protection, Detection, and Recovery Procedures
None.
2.6. End-of-File Conventions
End of file labeling complies with standards for the medium on
which the files are stored.
3. ACCESS
3.1. Programs Using the Interface
Data contained in SHBDR files will be accessed by programs
at the home institutions of science investigators.
Those programs cannot be identified here.
3.2. Synchronization Considerations
3.2.1. Timing and Sequencing Considerations
N/A
3.2.2. Effective Duration
N/A
3.2.3. Priority Interrupts
None.
3.3. Input/Output Protocols, Calling Sequences
None.
4. DETAILED INTERFACE SPECIFICATIONS
4.1. Structure and Organization Overview
The SHBDR is a file generated by software at the institution
conducting scientific data analysis. Each SHBDR file is accompanied
by a detached PDS label.
4.2. Detached PDS Label
The detached PDS label is a file with two parts -- a header,
and a set of one to four PDS TABLE object definitions.
The header contains information about the origin of the file and its
general characteristics such as record type and size.
The TABLE object definitions describe the format and content of the
tables that make up the SHBDR data file. The SHBDR Header Table Object
definition is required. The SHBDR Names Object Definition is required
if there is an SHBDR Names Object in the file. The SHBDR Coefficients
Table Object definition is required if there is a SHBDR Coefficients Table
in the file; the SHBDR Covariance Table Object definition is required
if there is a SHBDR Covariance Table.
Each detached PDS label is constructed of ASCII records; each record
in the label contains exactly 80 characters. The last two characters in
each record are the carriage-return (ASCII 13) and line-feed (ASCII 10)
characters.
An example of a complete label and data object is given in Appendix C.
4.2.1 Label Header
The structure of the label header is illustrated in Figure 4-2-1.
Keyword definitions are given below.
PDS_VERSION_ID =
The version of the Planetary Data System for which these data have been
prepared; set to PDS3 by agreement between the mission and PDS.
RECORD_TYPE =
The type of record. Set to "FIXED_LENGTH" to indicate that all logical
records have the same length.
RECORD_BYTES =
The number of bytes per (fixed-length) record.
FILE_RECORDS =
The number of records in the SHBDR file: instance dependent.
^SHBDR_HEADER_TABLE=
File name and record number at which SHBDR_HEADER_TABLE begins. Set to
("GTsss_nnnnvv_SHB.DAT ",1) where " GTsss_nnnnvv_SHB.DAT " is the file name as described in Section 2.3, and 1 is the record number since this is the first record in the SHBDR file.
|====================================================================|
| |
| Figure 4-2-1 SHBDR Label Header |
| |
|====================================================================|
| |
| PDS_VERSION_ID = PDS3
| RECORD_TYPE = FIXED_LENGTH |
| RECORD_BYTES = nnn |
| FILE_RECORDS = nnn |
| ^SHBDR_HEADER_TABLE = ("GTsss_nnnnvv_SHB.DAT",1) |
| ^SHBDR_NAMES_TABLE = ("GTsss_nnnnvv_SHB.DAT ",1) |
| ^SHBDR_COEFFICIENTS_TABLE = ("GTsss_nnnnvv_SHB.DAT ",nn) |
| ^SHBDR_COVARIANCE_TABLE = ("GTsss_nnnnvv_SHB.DAT ",nnn) |
| INSTRUMENT_HOST_NAME = "cccccccccccccccccccc" |
| TARGET_NAME = "cccc" |
| INSTRUMENT_NAME = "ccccccccccccccccccccccc" |
| DATA_SET_ID = "ccccccccccccccccccccccc" |
| OBSERVATION_TYPE = "ccccccccccccc" |
| ORIGINAL_PRODUCT_ID = "ccccccccccccc" |
| PRODUCT_ID = "GTnnnnvv.SHB" |
| PRODUCT_RELEASE_DATE = YYYY-MM-DD |
| DESCRIPTION = "cccccccccccccccccc" |
| START_ORBIT_NUMBER = nnnn |
| STOP_ORBIT_NUMBER = nnnn |
| START_TIME = YYYY-MM-DDThh:mm:ss |
| STOP_TIME = YYYY-MM-DDThh:mm:ss |
| PRODUCT_CREATION_TIME = YYYY-MM-DDThh:mm:ss.fff |
| PRODUCER_FULL_NAME = "cccccccccccc" |
| PRODUCER_INSTITUTION_NAME = "ccccccccccc" |
| PRODUCT_VERSION_TYPE = "cccccccccccc" |
| PRODUCER_ID = "ccccccc" |
| SOFTWARE_NAME = "ccccccc;Vn.m" |
|====================================================================|
^SHBDR_NAMES_TABLE =
File name and record number at which the SHBDR_NAMES_TABLE begins. The
Names Table is required if the Coefficients Table is included in the file.
This pointer will not appear in the SHBDR label if there are no Coefficients
Table. Set to ("GTsss_nnnnvv_SHB.DAT ",nn) where " GTsss_nnnnvv_SHB.DAT " is the file name as described in Section 2.3, and "nn" is the record number in the file where the Names Table begins.
^SHBDR_COEFFICIENTS_TABLE=
File name and record number at which SHBDR_COEFFICIENTS_TABLE begins. The
Coefficients Table is optional; this pointer will not appear in the SHBDR
label if there is no Coefficients Table. Set to ("GTsss_nnnnvv_SHB.DAT ",nn) where " GTsss_nnnnvv_SHB.DAT " is the file name as described in Section 2.3, and "nn" is the record number in the file where the Coefficients Table begins.
^SHBDR_COVARIANCE_TABLE=
File name and record number at which SHBDR_COVARIANCE_TABLE begins. The
Covariance Table is optional; this pointer will not appear in the SHBDR label
if there is no Covariance Table. Set to ("GTsss_nnnnvv_SHB.DAT ",nn) where
" GTsss_nnnnvv_SHB.DAT " is the file name as described in Section 2.3, and "nn" is the record number in the file where the Covariance Table begins.
INSTRUMENT_HOST_NAME =
Name of the spacecraft; acceptable names include "MARS GLOBAL SURVEYOR"
"LUNAR PROSPECTOR", "MARS RECONNAISSANCE ORBITER", and "MERCURY SURFACE, SPACE, ENVIRONMENT, GEOCHEMISTRY, AND RANGING".
TARGET_NAME =
A character string that identifies the target body. For MRO- and MGS-
derived SHBDR files, the character string will be "MARS". For MESSENGER
SHBDR files the character string will be "MERCURY". For Lunar Prospector
SHBDR files, the character string will be "MOON".
INSTRUMENT_NAME =
Name of the instrument; set to "RADIO SCIENCE SUBSYSTEM" for products
generated from radio science data, or set to other instrument names
as appropriate.
DATA_SET_ID =
Identifier for the data set of which this SHBDR product is a member.
-Set to "MRO-M-RSS-5-SDP-Vn.m" for Mars Reconnaissance Orbiter;
-Set to "MESS-H-RSS-5-SDP-Vn.m" for MESSENGER;
-Set to "MGS-M-RSS-5-SDP-Vn.m" for MGS; and "
-Set to "LP-L-RSS-5-SHGBDR-L2-Vn.m" for Lunar Prospector;
The suffix Vn.m indicates the version number of the data set.
OBSERVATION_TYPE =
A character string that identifies the data in the product. For
the spherical harmonic model of a gravity field, the character
string "GRAVITY FIELD". For a model of planet topography,
the character string "TOPOGRAPHY".
ORIGINAL_PRODUCT_ID =
Optional. An identifier for the product provided by the producer.
Generally a file name, different from PRODUCT_ID, which would be
recognized at the producer's home institution.
PRODUCT_ID =
A unique identifier for the product within the collection identified
by DATA_SET_ID. Generally, the file name used in pointers
^SHBDR_HEADER_TABLE. The naming convention is defined in Section 2.3.
PRODUCT_RELEASE_DATE =
The date on which the product was released to the Planetary Data
System; entered in the format "YYYY-MM-DD", where components are
defined in Section 1.5.4.2.
DESCRIPTION =
A short description of the SHBDR product.
START_ORBIT_NUMBER =
Optional. The first orbit represented in the SHBDR product. An integer.
STOP_ORBIT_NUMBER =
Optional. The last orbit represented in the SHBDR product. An integer.
START_TIME =
Optional. The date/time of the first data included in the model, expressed
in the format "YYYY-MM-DDThh:mm:ss" where the components are defined
in section 1.5.4.2.
STOP_TIME =
Optional. The date/time of the last data included in the model, expressed
in the format "YYYY-MM-DDThh:mm:ss" where the components are defined in
section 1.5.4.2.
PRODUCT_CREATION_TIME =
The time at which this SHBDR was created; expressed in the format
"YYYY-MM- DDThh:mm:ss.fff" where the components are
defined in Section 1.5.4.2.
PRODUCER_FULL_NAME=
The name of the person primarily responsible for production of this SHBDR
file. Expressed as a character string, for example "JOHANNES KEPLER".
PRODUCER_INSTITUTION_NAME=
The name of the institution primarily responsible for production of this
SHADR. Standard values include:
"STANFORD UNIVERSITY"
"GODDARD SPACE FLIGHT CENTER"
"JET PROPULSION LABORATORY"
"CENTRE NATIONAL D'ETUDES SPATIALES"
"MASSACHUSETTS INSTITUTE OF TECHNOLOGY"
PRODUCT_VERSION_TYPE=
The version of this SHBDR.
Standard values include "PREDICT", "PRELIMINARY", and "FINAL".
PRODUCER_ID =
The entity responsible for creation of the SHBDR product. For products
generated by the Mars Reconnaissance Orbiter Gravity Science Team set to
"MRO GST". For products generated by the MESSENGER Laser Altimeter Science
Team, set to "MESS LAST". For products generated by the Mars Global Surveyor
Radio Science Team, set to "MGS RST".
SOFTWARE_NAME =
The name and version number of the program creating this SHBDR file;
expressed as a character string in the format "PROGRAM_NAME;n.mm"
where "PROGRAM_NAME" is the name of the software and "n.mm" is
the version number. (e.g. "SOLVE;200201.02")
4.2.2 TABLE Object Definitions
4.2.2.1 SHBDR Header Object Definition
Each SHBDR Header Object is completely defined by the Header
Object Definition in its Label. The definition which follows gives
the structure of the Header Object; some of the DESCRIPTION values
may vary from product to product. The SHBDR Header Object Definition
is a required part of the SHBDR label file. It immediately follows
OBJECT = SHBDR_HEADER_TABLE
ROWS = 1
COLUMNS = 9
ROW_BYTES = 56
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR header includes descriptive
information about the spherical harmonic coefficients that follow in
SHBDR_COEFFICIENTS_TABLE. The header consists of a single record of
nine data columns requiring 56 bytes. The Header is followed by a
pad of binary integer zeroes to ensure alignment with RECORD_BYTES."
OBJECT = COLUMN
NAME = "REFERENCE RADIUS"
DATA_TYPE = IEEE_REAL
START_BYTE = 1
BYTES = 8
UNIT = "KILOMETER"
DESCRIPTION = "The assumed reference radius
of the spherical planet."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "CONSTANT"
DATA_TYPE = IEEE_REAL
START_BYTE = 9
BYTES = 8
UNIT = "KM^3/S^2"
DESCRIPTION = "For a gravity field model
the assumed gravitational constant GM in kilometers cubed per seconds
squared for the planet. For a topography model, set to 1."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "UNCERTAINTY IN CONSTANT"
DATA_TYPE = IEEE_REAL
START_BYTE = 17
BYTES = 8
UNIT = "KM^3/S^2"
DESCRIPTION = "For a gravity field model the uncertainty
in the gravitational constant GM in kilometers cubed per seconds squared
for the planet. For a topography, set to 0."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "DEGREE OF FIELD"
DATA_TYPE = MSB_INTEGER
START_BYTE = 25
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "The degree of model field."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "ORDER OF FIELD"
DATA_TYPE = MSB_INTEGER
START_BYTE = 29
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "The order of the model field."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "NORMALIZATION STATE"
DATA_TYPE = MSB_INTEGER
START_BYTE = 33
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "The normalization indicator.
For gravity field:
0 coefficients are unnormalized
1 coefficients are normalized
2 other."
END_OBJECT= COLUMN
OBJECT = COLUMN
NAME = "NUMBER OF NAMES"
DATA_TYPE = MSB_INTEGER
START_BYTE = 37
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "Number of valid names in the SHBDR Names
Table. Also, the number of valid coefficients in the SHBDR
Coefficients Table."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "REFERENCE LONGITUDE"
POSITIVE_LONGITUDE_DIRECTION = "EAST"
DATA_TYPE = IEEE_REAL
START_BYTE = 41
BYTES = 8
UNIT = "DEGREE"
DESCRIPTION = "The reference longitude
for the spherical harmonic expansion; normally 0."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "REFERENCE LATITUDE"
DATA_TYPE = IEEE_REAL
START_BYTE = 49
BYTES = 23
FORMAT = "E23.16"
UNIT = "DEGREE"
DESCRIPTION = "The reference latitude
for the spherical harmonic expansion; normally 0."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_HEADER_TABLE
4.2.2.2 SHBDR Names Object Definition
The SHBDR Names Object is completely defined by the Names
Object Definition in the label. The definition below
illustrates general structural form. The SHBDR Names Object is an
optional part of the SHBDR file. If the Names Object is not
included, either the Names Object Definition will be omitted or the
number of rows will be set to zero (ROWS = 0). If the Names Object
is not included, the pointer ^SHBDR_NAMES_TABLE will not appear in
the Standard Keywords and Values. If the Coefficients Object is
included in the SHBDR file, the Names Object is required.
OBJECT = SHBDR_NAMES_TABLE
ROWS = *
COLUMNS = 1
ROW_BYTES = 8
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Names Table contains names
for the solution parameters (including gravity field coefficients) which
will follow in the SHBDR_COEFFICIENTS_TABLE. The order of the names
in the SHBDR_NAMES_TABLE corresponds identically to the order
of the parameters in the SHBDR_COEFFICIENTS_TABLE. Each coefficient
name is of the form Cnm or Snm where n is the degree of the
coefficient and m is the order of the coefficient.
Both indices are three-digit zero-filled right-justified ASCII
character strings (for example, C010005 for the 10th degree 5th order
C coefficient, or S002001 for the 2nd degree 1st order S coefficient).
The eighth byte in the table is an ASCII blank used to ensure
that the row length is equal to RECORD_BYTES. Names of other solution
parameters are limited to 8 ASCII characters; if less than 8, they
will be left-justified and padded with ASCII blanks. The Names Table
itself will be padded with ASCII blanks, if necessary, so that
its length is an integral multiple of RECORD_BYTES."
OBJECT = COLUMN
NAME = "PARAMETER NAME"
DATA_TYPE = CHARACTER
START_BYTE = 1
BYTES = 8
UNIT = "N/A"
DESCRIPTION = "The name of the coefficient or other
solution parameter, left-justified and padded with ASCII blanks
(if needed) to 8 characters."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_NAMES_TABLE
4.2.2.3 SHBDR Coefficients Object Definition
The SHBDR Coefficients Object is completely defined by the
Coefficients Object Definition in the label. Small differences in
DESCRIPTION values should be expected from product to product. The
structure outlined in the Definition below should not vary, however.
The SHBDR Coefficients Object is an optional part of the
SHBDR data file. This allows the SHBDR to be used for targets which
are too small or too remote to have easily discerned coefficients,
but for which estimates of mass have been obtained (e.g., satellites
Phobos and Deimos). If the Covariance Object is included in the
SHBDR, the Coefficients Object is required.
If the Coefficients Object is not included in the SHBDR
file, either the SHBDR Coefficients Object Definition will be
omitted or the number of rows will be set to zero (ROWS = 0).
If the SHBDR Coefficients Object is not included, the pointer
^SHBDR_COEFFICIENTS_TABLE will not appear in the label header.
If the SHBDR Coefficients Object Definition is included in the
label, it immediately follows the SHBDR Names Object Definition.
The order in which coefficients appear in the Coefficients
Object is defined by the Names Object [2].
OBJECT = SHBDR_COEFFICIENTS_TABLE
ROWS = *
COLUMNS = 1
ROW_BYTES = 8
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Coefficients Table
contains the coefficients and other solution parameters
for the spherical harmonic model. The order of the
coefficients in this table corresponds exactly to the
order of the coefficient and parameter names in
SHBDR_NAMES_TABLE. The SHBDR Coefficients Table will be
padded with double precision DATA_TYPE zeroes so that
its total length is an integral multiple of RECORD_BYTES."
OBJECT = COLUMN
NAME = "COEFFICIENT VALUE"
DATA_TYPE = *
START_BYTE = 1
BYTES = 8
UNIT = "N/A"
DESCRIPTION = "A coefficient Cnm or
Snm or other solution parameter as specified in the
SHBDR Names Table."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_COEFFICIENTS_TABLE
4.2.2.4 SHBDR Covariance Object Definition
The SHBDR Covariance Object is completely defined by the
Covariance Object Definition in the label. Small differences in
DESCRIPTION values should be expected from product to product. The
structure established by the Definition below should not change,
however.
The SHBDR Covariance Object is an optional part of the SHBDR
data file. If the Covariance Object is not included, either the
Covariance Object Definition will be omitted or the number of rows
will be set to zero (ROWS = 0). If the SHBDR Covariance Object is not
included, the pointer ^SHBDR_COVARIANCE_TABLE will not appear in the
label header. If the SHBDR Covariance Object Definition is included
in the label, it immediately follows the SHBDR Coefficients Object
Definition.
The order in which covariance terms appear in the Covariance
Object is defined by the Names Object [2].
OBJECT = SHBDR_COVARIANCE_TABLE
ROWS = *
COLUMNS = 1
ROW_BYTES = 8
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Covariance Table
contains the covariances for the spherical harmonic model
coefficients and other solution parameters. The order of
the covariances in this table is defined by the product
of the SHBDR Names Table with its transpose, except that
redundant terms are omitted on their second occurrence.
The SHBDR Covariance Table will be padded with double
precision DATA_TYPE zeroes so that its total length is
an integral multiple of RECORD_BYTES."
OBJECT = COLUMN
NAME = "COVARIANCE VALUE"
DATA_TYPE = *
START_BYTE = 1
BYTES = 8
UNIT = "N/A"
DESCRIPTION = "The covariance value
for the coefficients and other solution parameters
specified by the product of SHBDR_NAMES_TABLE with
its transpose, after omitting redundant terms."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_COVARIANCE_TABLE
4.3. Data File
Each SHBDR data file comprises one or more data blocks. The
data objects were defined in Section 4.2. The data blocks are
illustrated below.
The Header Object is required in each SHBDR file; the Names
Object, the Coefficients Object, and the Covariance Object are
optional. If the Covariance Object is included, both the Coefficients
Object and the Names Object are required; if the Coefficients Object
is included, the Names Object is required.
4.3.1. SHBDR Header Object/Block
The SHBDR Header Object contains the parameters necessary to
interpret the data in the SHBDR file. The structure and content of
the SHBDR Header Object are defined in Section 4.2.2.1. The SHBDR
Header Object is a one-row table; hence the Header Object and the
Header Block are logically synonymous. The structure of the Header
Block is shown in Table 4-3-1.
|====================================================================|
| |
| Table 4-3-1. SHBDR Header Block |
| |
|====================================================================|
| Col No | Offset | Length | Format | Column Nam |
|--------|--------|--------|--------|--------------------------------|
| 1 | +0 | 8 | double |Planetary Radius |
|--------|--------|--------|--------|--------------------------------|
| 2 | 8 | 8 | double |Constant |
|--------|--------|--------|--------|--------------------------------|
| 3 | 16 | 8 | double |Uncertainty in Constant |
|--------|--------|--------|--------|--------------------------------|
| 4 | 24 | 4 | long |Degree of Field |
|--------|--------|--------|--------|--------------------------------|
| 5 | 28 | 4 | long |Order of Field |
|--------|--------|--------|--------|--------------------------------|
| 6 | 32 | 4 | long |Normalization State |
|--------|--------|--------|--------|--------------------------------|
| 7 | 36 | 4 | long |Number of Names |
|--------|--------|--------|--------|--------------------------------|
| 8 | 40 | 8 | double |Reference Longitude |
|--------|--------|--------|--------|--------------------------------|
| 9 | 48 | 8 | double |Reference Latitude |
|--------|--------|--------|--------|--------------------------------|
| | +56 | |
|========|========|========|========|================================|
4.3.2. SHBDR Names Block
The SHBDR Names Object comprises one or more SHBDR Names
Blocks. Each block contains the name of one coefficient or solution
parameter in the Spherical Harmonic Model. The structure and content
of the SHBDR Names Object are defined in Section 4.2.2.2. The
structure of an individual block is shown in Table 4-3-2.
|====================================================================|
| |
| Table 4-3-2. SHBDR Names Block |
| |
|====================================================================|
| Col No | Offset | Length | Format | Column Name |
|--------|--------|--------|--------|--------------------------------|
| 1 | +0 | 8 | A8 |Coefficient or Solution |
| | | | |Parameter Name |
|--------|--------|--------|--------|--------------------------------|
| | +8 | |
|========|========|========|========|================================|
4.3.3. SHBDR Coefficients Block
The SHBDR Coefficients Object comprises one or more SHBDR
Coefficients Blocks. Each block contains the value of one
coefficient or other solution parameter for the overall model defined
by the SHBDR product. The structure and content of the SHBDR
Coefficients Object are defined in Section 4.2.2.3. The structure
of an individual block is shown in Table 4-3-3.
|====================================================================|
| |
| Table 4-3-3. SHBDR Coefficients Block |
| |
|====================================================================|
| Col No | Offset | Length | Format | Column Name |
|--------|--------|--------|--------|--------------------------------|
| 1 | +0 | 8 | double |Coefficient Cnm or Snm or |
| | | | |other solution parameter |
|--------|--------|--------|--------|--------------------------------|
| | +8 | |
|========|========|========|========|================================|
4.3.4. SHBDR Covariance Block
The SHBDR Covariance Object comprises one or more SHBDR
Covariance Blocks. Each SHBDR Covariance Block contains one
covariance for the overall model defined by the SHBDR product. The
structure and content of the SHBDR Covariance Object are defined in
Section 4.2.2.4. The structure of an individual block is shown in
Table 4-3-4. The SHBDR Covariance Object is an optional component of
the SHBDR file.
|====================================================================|
| |
| Table 4-3-4. SHBDR Covariance Block |
| |
|====================================================================|
| Col No | Offset | Length | Format | Column Name |
|--------|--------|--------|--------|--------------------------------|
| 1 | +0 | 8 | double |Covariance Value |
|--------|--------|--------|--------|--------------------------------|
| | +8 | |
|========|========|========|========|================================|
5. SUPPORT STAFF AND COGNIZANT PERSONNEL
The following persons may be contacted for information.
Mars Reconnaissance Orbiter Gravity Science Team
Frank G. Lemoine
Code 698, Planetary Geodynamics Laboratory
NASA Goddard Space Flight Center
Greenbelt, Maryland 20771 U.S.A.
Phone: 301-614-6109
FAX: 301-614-6522
Electronic mail: Frank.Lemoine@gsfc.nasa.gov
MESSENGER Laser Altimeter Science Team
Maria T. Zuber
Department of Earth, Atmospheric, and Planetary
Sciences
Massachusetts Institute of Technology
54-918
Cambridge, MA 02139-4307
Phone: 617-253-0149
FAX: 617-253-8298
Planetary Data System:
PDS Operator
Planetary Data System
MS 202-101
Jet Propulsion Laboratory
4800 Oak Grove Drive
Pasadena, CA 91109-8099
Phone: 818-354-4321
Electronic Mail: pds_operator@jpl.nasa.gov
APPENDIX A.
A.1 Definition of Spherical harmonic models for the geopotential.
Spherical harmonics satisfy Laplace's equation in spherical coordinates.
The gravity potential field of the planets and the mathematical
representation of magnetic fields and topographic fields are readily
expressed in terms of spherical harmonics. Useful reviews are by Lambeck
[11] (Section 2.2, Elements of Potential Theory) and Kaula [12] (Section 1.1
Potential Theory, and Section 1.2 Spherical Harmonics).
V = (GM/r) + (GM/r)*SUMMATION_n SUMMATION_m (Re/r)**n [Cnm" cos(mL) + Snm" sin(mL)]* Pnm"(sin(phi))
(Equation A-1-1)
where GM is the gravitational constant of the planet, r is the radial
distance of the test point from the origin, and Re is the assumed reference
radius of the spherical planet for which the coefficients were calculated.
The summations take place from degree n=1 to infinity, and order m=0 to n;
Cnm" and Snm" refer to the normalized spherical harmonic coefficients (see
Section A.2 below); L is the longitude; the Pnm" are the normalized
associated Legendre functions of degree n and order m; and phi is the
latitude of the test point. If we assume the origin is at the center of mass, the degree one terms vanish, and the summation in degree starts at degree n=2.
A "solution" for a spherical harmonic model of the geopotential refers
to a solution for these spherical harmonic coefficients and the gravitational
constant, GM, of the body.
In practice the spherical harmonic series is truncated at a maximum
degree nmax. For MRO, the likely degree of truncation will be between n=100
and n=120. For MESSENGER gravity solutions of the planet Mercury, solutions
will likely be truncated at degree 20. The degree of truncation depends on
the quality of the tracking data, and the orbits of the spacecraft in the
geopotential solution. For Lunar Prospector derived gravity solutions,
the maximum degree has ranged from n=100 to n=165 [10].
If the origin is placed at the center of mass, the degree 1 terms
vanish from the spherical harmonic expansion, and
the first summation above is then from (n=2) to the maximum degree, nmax.
Figure 1, section 1.2 from Kaula [11] gives examples of spherical
harmonics. The zonal terms, m=0, have n zeros in a distance pi along a
meridian N-S in other words they represent only latitudinal varations
in the potential.
Zonal terms may be represented in the literature as Jn = - Cn0.
Aside from GM, C20 is the most significant term in the gravity field
(for planets such as the Earth and Mars), and reflects the dynamical
expression of the planet's polar flattening.
Tesseral harmonics (coefficients where n is not equal to m, and m > 0,
have n-m zeros in a distance pi along a meridian
(like the tesserae of a mosaic).
Sectoral harmonics are coefficients where n=m and are constant
in sectors of longitude (N-S) and have n zero crossings in a distance pi
along a meridian of latitude (E-W).
A.2 Definition of the normalization used for geopotential coefficients.
The normalization for spherical harmonic coefficients is given by Lambeck[11]
Cnm" = Cnm/PI_nm
(Equation A-2-1)
where Cnm" is normalized and Cnm is un-normalized, and
[PI_nm]**2 = (2 - delta_0m) * (2n+1) * (n-m)! / (n+m)!
(Equation A-2-2)
delta_0m refers to the Kronecker delta function -- unity for coefficients
where m=0 (the zonal terms), zero for order m > 0.
For zonal coefficients (m=0) the relation reduces to
Cnm" = Cnm / sqrt(2n+1)
For example, for the Earth C20 = -1.08262668355E-03 (un-normalized) so
C20" = C20 / sqrt(5) = -4.8416537173572E-04 (normalized)
Working the process backwards for Earth's C22 we have
C22" = .24391435239839D-05
(from the Earth Gravitational Model 1996, EGM96, [13])
[PI_nm]**2 = (2-0)*(2n+1) (2-2)! / (4)!
= 2*5*1/(4!) = 5/12
which yields
C22 = sqrt(5/12) * (.24391435239839E-05) = 1.5744604E-06
closely matching Lambeck's [11] result (page 14).
Likewise for Earth's S22, we have S22" = -.14001668365394E-05
(normalized from the Earth Gravitational Model 1996, EGM96, [13])
Thus,
S22= sqrt(5/12) * (-.14001668365394E-05) = -9.038038E-07 (un-normalized)
which matches closely the example given by Lambeck [11].
APPENDIX B. BINARY DATA FORMAT
B.1. IEEE Integer Fields
0 7 1-byte (char; uchar)
---------
| [0] |
---------
0 15 2-byte (short; ushort)
--------- ---------
| [0] | [1] |
--------- ---------
0 31 4-byte (long; ulong)
--------- --------- --------- ---------
| [0] | [1] | [2] | [3] |
--------- --------- --------- ---------
IEEE binary integers are stored in one, two, or four consecutive 8-bit
bytes. Unsigned integers uchar, ushort, ulong, which always represent
positive values, contain 8, 16, or 32 binary bits, respectively. As
illustrated above, the significance increases from the rightmost bit
to the leftmost (bit 0). Signed integers (char, short, long) are
stored in the same way, except that negative values are formed by
taking the corresponding positive value, complementing each bit, then
adding unity -- known as "two's complement" format. As a consequence,
a negative value always has bit 0 set "on". Integers are written
externally in increasing byte-number order, i.e. [0], [1], etc., so
that more significant bits always precede less significant ones. For
example, the short value -2 is stored as a pair of bytes valued 0xff,
0xfe.
B.2. IEEE Floating-Point Fields
0 1 8 9 31 4-byte (float)
--------- --------- --------- ---------
| | [0] | | [1] | [2] | [3] |
--------- --------- --------- ---------
0 1 8 9 31 8-byte (double)
--------- --------- --------- ---------
| | [0] | | [1] | [2] | [3] |
--------- --------- --------- ---------
32 63
--------- --------- --------- ---------
| [4] | [5] | [6] | [7] |
--------- --------- --------- ---------
IEEE single- (double-) precision floating point numbers (known to IEEE
enthusiasts as E-type floating-point formats, respectively) are stored
in four (eight) consecutive bytes. Bit number 0 contains a sign
indicator, S. Bits 1 through 8 (11) contain a binary exponent, E. The
significance increases from bit 8 (11) through bit 1. Bits 9 (12)
through 31 (63) contain a mantissa M, a 23-bit (52-bit) binary
fraction whose binary point lies immediately to the left of bit 9
(12). The significance increases from bit 31 (63) through bit 9 (11).
The value of the single-precision field is given by
S E-127
(-1) *2 *(1+M)
The value of the double-precision field is given by
S E-1023
(-1) *2 *(1+M)
The numbers are stored externally in increasing byte-number order,
i.e. [0], [1], etc. For example, the maximum single-precision float
value +3.40282347E+38 is stored as four bytes valued 0x7f, 0x7f, 0xff,
0xff.
Special single-precision float values are represented as +Infinity
(0x7f800000), -Infinity (0xff800000), quiet NaN (not a number) (0xffffffff),
and signaling NaN (0x7f800001).
APPENDIX C EXAMPLE DATA PRODUCTS
Appendix C.1 Example Label
The following lists an example SHBDR LBL file for a
Mars gravity solution, GGM2BC80.SHB, prepared by Frank Lemoine
of NASA GSFC.
For MESSENGER the "INSTRUMENT_HOST_NAME" would be listed
instead of "MESSENGER" instead of "MARS RECONNAISSANCE ORBITER".
The DESCRIPTION would be changed to reflect the data content of the
MESSENGER gravity solutions. Other fields
(e.g., PRODUCT_RELEASE_DATE, PRODUCT_ID, INSTRUMENT NAME, START_TIME,
STOP_TIME, PRODUCT_CREATION TIME) would also be changed as appropriate.
PDS_VERSION_ID = "PDS3"
FILE_NAME = "GGM2BC80.SHB"
RECORD_TYPE = FIXED_LENGTH
RECORD_BYTES = 512
FILE_RECORDS = 336254
^SHBDR_HEADER_TABLE = ("GGM2BC80.SHB",1)
^SHBDR_NAMES_TABLE = ("GGM2BC80.SHB",2)
^SHBDR_COEFFICIENTS_TABLE = ("GGM2BC80.SHB",105)
^SHBDR_COVARIANCE_TABLE = ("GGM2BC80.SHB",208)
INSTRUMENT_HOST_NAME = "MARS RECONNAISSANCE ORBITER"
TARGET_NAME = "MARS"
INSTRUMENT_NAME = "RADIO SCIENCE SUBSYSTEM"
DATA_SET_ID = "MRO-M-RSS-5-SDP-V1.0"
OBSERVATION_TYPE = "GRAVITY FIELD"
PRODUCT_ID = "GGM2BC80.SHB"
PRODUCT_RELEASE_DATE = 2006-02-28
DESCRIPTION = "
The data in this covariance matrix are stored row-wise,
in upper triangular form. The error covariance contains
21506961 elements and has 336254 records. There are 6558
parameters in the GGM2BC80.SHB covariance matrix: the
C and S gravity coefficients from degree 2 to 80 (inclusive)
and the GM of the Mars gravity field. The data format is big endian.
This file contains coefficients and related data for a spherical
harmonic model of the Mars gravity field. Input data are from
radio tracking of the Mars Global Surveyor spacecraft; no Mariner 9
or Viking data are included. Coordinate system is IAU 1991 (Davies
et al., Celestial Mechanics and Dynamical Astronomy, 53, 377-397,
1992).
The model was constructed from 955,115 observations, summarized
in the table below. MGS data are limited to tracking from the
Aerobraking Hiatus and Science Phasing Orbit (SPO) subphases of the
Orbit Insertion phase of the mission and to February 1999 to
February 2000 after the orbit was circularized.
Time Periods Total
Arcs Observations
----------------------- ---- ------------
Hiatus 2 24119
SPO-1 8 31001
SPO-2 16 157972
Feb-Mar 1999 9 76813
Apr 1999 - Feb 2000 47 665210
----------------------- ---- ------------
Total 955115
Orbit reconstruction was improved using Mars Orbiter Laser Altimeter
(MOLA) data on 5 arcs between March and December 1999. Inter-arc
and intra-arc crossovers at 21343 points were included in the orbit
solutions.
The gravity model was derived using a Kaula type constraint:
sqrt(2)*13*10**(-5)/L**2 (Kaula, W.M., Theory of Satellite Geodesy,
Blaisdell, Waltham, MA, 1966).
The analysis and results were described by F.G. Lemoine,
D.D. Rowlands, D.E. Smith, D.S. Chinn, G.A. Neumann, and M.T. Zuber
at the Spring Meeting of the American Geophysical Union, May 30 -
June 3, 2000, Washington. DC.
Further improvements to the model are expected as additional MGS
data are incorporated.
This product is a set of two ASCII tables: a header table and a
coefficients table. Definitions of the tables follow.
This Mars gravity model was produced by F.G. Lemoine under the
direction of D.E. Smith of the MGS Radio Science Team.
A reference for this gravity model is as follows:
An improved solution of the gravity field of Mars (GMM-2B)
from Mars Global Surveyor, F.G. Lemoine, D.E. Smith, D.D. Rowlands,
M.T. Zuber, G.A. Neumann, D.S. Chinn, and D.E. Pavlis,
J. Geophys. Res., 106(E10), pp. 23359-23376. October 25, 2001."
START_TIME = 1997-10-13T00:00:00
STOP_TIME = 2000-02-29T12:05:00
START_ORBIT_NUMBER = 19
STOP_ORBIT_NUMBER = 4375
PRODUCT_CREATION_TIME = 2000-09-18T00:00:00.000
PRODUCER_FULL_NAME = "FRANK G. LEMOINE"
PRODUCER_INSTITUTION_NAME = "GODDARD SPACE FLIGHT CENTER"
PRODUCT_VERSION_TYPE = "FINAL"
PRODUCER_ID = "MRO GST"
SOFTWARE_NAME = "SOLVE.F90INLINE3;2000.01"
OBJECT = SHBDR_HEADER_TABLE
ROWS = 1
COLUMNS = 9
ROW_BYTES = 56
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Header includes
descriptive information about the spherical harmonic
coefficients that follow in SHBDR_COEFFICIENTS_TABLE.
The header consists of a single record of nine data
columns requiring 56 bytes. The Header is followed by
a pad of binary integer zeroes to ensure alignment
with RECORD_BYTES."
OBJECT = COLUMN
NAME = "REFERENCE RADIUS"
DATA_TYPE = IEEE_REAL
START_BYTE = 1
BYTES = 8
UNIT = "KILOMETER"
DESCRIPTION = "The assumed reference
radius of the spherical planet."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "CONSTANT"
DATA_TYPE = IEEE_REAL
START_BYTE = 9
BYTES = 8
UNIT = "KM^3/S^2"
DESCRIPTION = "For a gravity field model
the gravitational constant GM in km cubed per seconds
squared for the planet. For a topography model, set to 1"
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "UNCERTAINTY IN CONSTANT"
DATA_TYPE = IEEE_REAL
START_BYTE = 17
BYTES = 8
UNIT = "KM^3/S^2"
DESCRIPTION = "For a gravity field model
the uncertainty in the gravitational constant GM in km
cubed per seconds squared for the planet. For a topography
model, set to 0."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "DEGREE OF FIELD"
DATA_TYPE = MSB_INTEGER
START_BYTE = 25
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "Degree of the model field."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "ORDER OF FIELD"
DATA_TYPE = MSB_INTEGER
START_BYTE = 29
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "Order of the model field."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "NORMALIZATION STATE"
DATA_TYPE = MSB_INTEGER
START_BYTE = 33
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "The normalization indicator.
For gravity field:
0 coefficients are unnormalized
1 coefficients are normalized
2 other."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "NUMBER OF NAMES"
DATA_TYPE = MSB_INTEGER
START_BYTE = 37
BYTES = 4
UNIT = "N/A"
DESCRIPTION = "Number of valid names in
the SHBDR Names Table. Also, the number of valid
coefficients in the SHBDR Coefficients Table."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "REFERENCE LONGITUDE"
POSITIVE_LONGITUDE_DIRECTION = "EAST"
DATA_TYPE = IEEE_REAL
START_BYTE = 41
BYTES = 8
UNIT = "DEGREE"
DESCRIPTION = "The reference longitude for
the spherical harmonic expansion; normally 0."
END_OBJECT = COLUMN
OBJECT = COLUMN
NAME = "REFERENCE LATITUDE"
DATA_TYPE = IEEE_REAL
START_BYTE = 49
BYTES = 8
UNIT = "DEGREE"
DESCRIPTION = "The reference latitude for
the spherical harmonic expansion; normally 0."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_HEADER_TABLE
OBJECT = SHBDR_NAMES_TABLE
ROWS = 6558
COLUMNS = 1
ROW_BYTES = 8
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Names Table
contains names for the solution parameters (including
gravity field coefficients) which will follow in
SHBDR_COEFFICIENTS_TABLE. The order of the names
in SHBDR_NAMES_TABLE corresponds identically to the
order of the parameters in SHBDR_COEFFICIENTS_TABLE.
Each coefficient name is of the form Cij or Sij
where i is the degree of the coefficient and j is
the order of the coefficient. Both indices are three-
digit zero-filled right-justified ASCII character strings
(for example, C010005 for the 10th degree 5th order C
coefficient, or S002001 for the 2nd degree 1st order
S coefficient). The eighth byte in the table is an
ASCII blank used to ensure that the row length
is equal to RECORD_BYTES. Names of other solution
parameters are limited to 8 ASCII characters; if less
than 8, they will be left-justified and padded with
ASCII blanks. The Names Table itself will be padded
with ASCII blanks, if necessary, so that its length is
an integral multiple of RECORD_BYTES."
OBJECT = COLUMN
NAME = "PARAMETER NAME"
DATA_TYPE = CHARACTER
START_BYTE = 1
BYTES = 8
UNIT = "N/A"
DESCRIPTION = "The name of the
coefficient or other solution parameter, left-
justified and padded with ASCII blanks (if needed)
to 8 characters."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_NAMES_TABLE
OBJECT = SHBDR_COEFFICIENTS_TABLE
ROWS = 6558
COLUMNS = 1
ROW_BYTES = 8
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Coefficients Table
contains the coefficients and other solution parameters
for the spherical harmonic model. The order of the
coefficients in this table corresponds exactly to the
order of the coefficient and parameter names in
SHBDR_NAMES_TABLE. The SHBDR Coefficients Table will be
padded with double precision DATA_TYPE zeroes so that
its total length is an integral multiple of RECORD_BYTES."
OBJECT = COLUMN
NAME = "COEFFICIENT VALUE"
DATA_TYPE = IEEE_REAL
START_BYTE = 1
BYTES = 8
UNIT = "N/A"
DESCRIPTION = "A coefficient Cij or
Sij or other solution parameter as specified in the
SHBDR Names Table."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_COEFFICIENTS_TABLE
OBJECT = SHBDR_COVARIANCE_TABLE
ROWS = 21506961
COLUMNS = 1
ROW_BYTES = 8
INTERCHANGE_FORMAT = BINARY
DESCRIPTION = "The SHBDR Covariance Table
contains the covariances for the spherical harmonic model
coefficients and other solution parameters. The order of
the covariances in this table is defined by the product
of the SHBDR Names Table with its transpose, except that
redundant terms are omitted on their second occurrence.
The SHBDR Covariance Table will be padded with double
precision DATA_TYPE zeroes so that its total length is
an integral multiple of RECORD_BYTES."
OBJECT = COLUMN
NAME = "COVARIANCE VALUE"
DATA_TYPE = IEEE_REAL
START_BYTE = 1
BYTES = 8
UNIT = "N/A"
DESCRIPTION = "The covariance value
for the coefficients and other solution parameters
specified by the product of SHBDR_NAMES_TABLE with
its transpose, after omitting redundant terms."
END_OBJECT = COLUMN
END_OBJECT = SHBDR_COVARIANCE_TABLE
END
Appendix C.2 Example SHBDR Data Object Output
The following lists the first few lines from an example SHBDR file,
the GGM2BC80.SHB Gravity field solution covariance.
We describe below the extracts from a FORTRAN program to read the above
GGM2BC280.SHB covariance file, the error covariance of the gravity solution
GMM2B.
The SHB file is opened with the following FORTRAN open statement.
The key is that the SHB file is a direct access binary file with a
record length (in this example) of 512 bytes.
i.e.
open (10, file='ggm2bc80.shb', status ='old', access='DIRECT', RECL=512)
The first record reads the general solution information, where the variables
have been carefully predefined at the top of the program.
...................................
real*8 ae, gm, gmsig, reflon, reflat
integer*4 lmax,mmax,inorm, nvar
read(10,rec=1)ae, gm, gmsig, lmax, mmax, inorm, nvar, reflon, reflat
...................................
On output these records are:
ae = 3397.0
gm = 42828.371901 | GM in km**3/sec**2
gmsig = 7.40E-05 | GM sigma in km**3/sec**2
lmax = 80
mmax = 80
inorm = 1
nvar = 6558 | total number of parameters in the solution.
reflon = 0.0E+0
reflat = 0.0E+0
The next step is to read the coefficient name table and compute
the number of lines in the coefficient name table. In this example file
there are 64 8 byte characters per record of 512 bytes.
.....................
nline = (nvar/64) + 1
.....................
c integer multiplication on the following line is intentional
c we need to know number of variables on the last line
..........................
jend = nvar - (nvar/64)*64
..........................
Record 2, or the first record of the names table contains the following:
C002000 C002001 C002002 C003000 C003001 C003002 C003003 C004000
C004001 C004002 C004003 C004004 C005000 C005001 C005002 C005003
C005004 C005005 C006000 C006001 C006002 C006003 C006004 C006005
C006006 C007000 C007001 C007002 C007003 C007004 C007005 C007006
C007007 C008000 C008001 C008002 C008003 C008004 C008005 C008006
C008007 C008008 C009000 C009001 C009002 C009003 C009004 C009005
C009006 C009007 C009008 C009009 C010000 C010001 C010002 C010003
C010004 C010005 C010006 C010007 C010008 C010009 C010010 C011000
Record 104 contains the last few coefficient names of the solution+GM:
S080052 S080053 S080054 S080055 S080056 S080057 S080058 S080059
S080060 S080061 S080062 S080063 S080064 S080065 S080066 S080067
S080068 S080069 S080070 S080071 S080072 S080073 S080074 S080075
S080076 S080077 S080078 S080079 S080080 GM
The Coefficients table begins at Record 105:
The first eight variables of that record are:
-0.87451D-03 0.13938D-09 -0.84178D-04 -0.11887D-04 0.39053D-05
-0.15863D-04 0.35339D-04 0.51258D-05
The first coefficient value is for C20.
The Coefficients table ends at Record 207 with 30 valid records and
the remainder zero filled:
-0.39660D-07 0.25145D-08 0.27213D-07 0.60636D-07 0.25307D-07
0.40813D-08 0.16849D-07 0.16050D-07
-0.30849D-07 -0.26461D-07 -0.79262D-08 0.35247D-07 0.53467D-08
0.33029D-07 0.35339D-07 0.28539D-07
-0.30311D-10 0.38384D-07 -0.19836D-07 0.75625D-07 -0.19420D-07
0.34309D-09 -0.17577D-07 0.36022D-07
0.42967D-07 0.42482D-07 -0.40326D-07 -0.19721D-07 -0.53860D-07
0.42828D+14
..........
The last valid record is the value of GM for this solution, as per
the order specified in the names record.