PDS_VERSION_ID =
PDS3
RECORD_TYPE
= STREAM
RECORD_BYTES
= 80
OBJECT
= TEXT
PUBLICATION_DATE = 2011-07-01
NOTE
= "Software Interface Specification for
the Spherical Harmonics Binary Data
Record (SHBDR) file. "
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.3
01 July 2011
|====================================================================|
|
|
|
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
|
|====================================================================|
| 1.3 |11/07/01 | 4.2.2.3 |Added NOTE for LP re-analyzed data |
|
|
| 4.2.2.4 |
sets
|
|====================================================================|
Contents
Document Change Log
Contents
Acronyms and Abbreviations
1. General Description
1.1. Overview
1.2. Scope
1.3. Applicable Documents
1.4. System Siting
1.4.1. Interface Location and
Medium
1.4.2. Data Sources, Transfer
Methods, and Destinations
1.4.3. Generation Method and
Frequency
1.5. Assumptions and Constraints
1.5.1. Usage Constraints
1.5.2. Priority Phasing
Constraints
1.5.3. Explicit and Derived
Constraints
1.5.4. Documentation Conventions
1.5.4.1. Data
Format Descriptions
1.5.4.2. Time
Standards
1.5.4.3.
Coordinate Systems
1.5.4.4. Limits
of This Document
1.5.4.5.
Typographic Conventions
2. Interface Characteristics
2.1. Hardware Characteristics and Limitations
2.1.1. Special Equipment and
Device Interfaces
2.1.2. Special Setup
Requirements
2.2. Volume and Size
2.3. Labeling and Identification
2.4. Interface Medium Characteristics
2.5. Failure Protection, Detection, and Recovery Procedures
2.6. End-of-File Conventions
3. Access
3.1. Programs Using the Interface
3.2. Synchronization Considerations
3.2.1. Timing and Sequencing
Considerations
3.2.2. Effective Duration
3.2.3. Priority Interrupts
3.3. Input/Output Protocols, Calling Sequences
4. Detailed Interface Specifications
4.1. Structure and Organization Overview
4.2. Detached PDS Label
4.2.1. Label Header
4.2.2. TABLE Object
Definitions
4.2.2.1. SHBDR Header Object
Definition
4.2.2.2. SHBDR Names Object
Definition
4.2.2.3. SHBDR Coefficient
Object Definition
4.2.2.4 SHBDR Covariance Object Definition
4.3. Data File
4.3.1. SHBDR Header
Object/Block
4.3.2. SHBDR Name Block
4.3.3. SHBDR Coefficients
Block
4.3.4. SHBDR Covariances
Block
5. Support Staff and Cognizant Personnel
Appendix A. Description of Spherical Harmonic Model Normalization
A.1 Definition of Model for the Potential
A.2 Definition of the normalization used
Appendix B. Binary Data Format
B.1. IEEE Integer Fields
B.2. IEEE Floating-Point Fields
Appendix C. Example Data Products
C.1. Example Label
C.2. Example Data Object
Tables
4-3-1. SHBDR Header Block
4-3-2. SHBDR Names Block
4-3-3. SHBDR Coefficients Block
4-3-4. SHBDR Covariance Block
Figures
4-2-1. SHBDR Label Header
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.
This version adds a note
to the object definitions to accomodate new models
generated from LP and
other historical data[16].
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)
[16] Mazarico, E., F. G.
Lemoine, S.‐C. Han, and D. E. Smith ( 2010 ),
GLGM‐3:
A degree‐150 lunar gravity model from the historical tracking
data
of NASA Moon orbiters , J. Geophys. Res. , 115 , E05001,
doi:10.1029/2009JE003472
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-GLGM3/GRAVITY-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.
NOTE: For Lunar Prospector data modelled
with GLGM-3 the data is in
little-endian format and the covariance
data is a row ordered
upper triangular matrix.
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.
NOTE: For Lunar Prospector data modelled
with GLGM-3 the data is in
little-endian format and the covariance
data is a row ordered upper
triangular matrix.
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
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].
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.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.