ii 8 M M {IP'II' - ntrs.nasa.gov · NAIN_ ii_ 8 M M {IP'II' 47467-HOI I-UX-O0 RELBET 4.0 ... o...

663
NAIN_ ii_8 M M {IP'II' 47467-HOI I-UX-O0 RELBET 4.0 PROGRAMMER'S MANUAL 23 DECEMBER 1986 PREPARED FOR NATIONAL AERONAUTICS AND SPACE ADMINISTRATION LYNDON B. JOHNSON SPACE CENTER HOUSTON, TEXAS CONTRACT NAS9-17554 {HASA-CI_-171972) RELEI_T 4.0 IECGI_AI_M_.S'S _ANOAL (_IRW Defense- System_ Getup) 671 p CSCL 09B PREPARED BY B. P. HUYSMAN P. S. KWONG L. A. PIENIAZEK G J/6 | N87-18332 Uaclas 43517 SYSTEM DEVELOPMENT DIVISION DEFENSE SYSTEMS GROUP HOUSTON, TEXAS https://ntrs.nasa.gov/search.jsp?R=19870008899 2018-07-27T04:05:51+00:00Z

Transcript of ii 8 M M {IP'II' - ntrs.nasa.gov · NAIN_ ii_ 8 M M {IP'II' 47467-HOI I-UX-O0 RELBET 4.0 ... o...

NAIN_ ii_ 8

M M {IP'II'

47467-HOI I-UX-O0

RELBET 4.0

PROGRAMMER'S MANUAL

23 DECEMBER 1986

PREPARED FOR

NATIONAL AERONAUTICS AND SPACE ADMINISTRATION

LYNDON B. JOHNSON SPACE CENTER

HOUSTON, TEXAS

CONTRACT NAS9-17554

{HASA-CI_-171972) RELEI_T 4.0 IECGI_AI_M_.S'S

_ANOAL (_IRW Defense- System_ Getup) 671 pCSCL 09B

PREPARED BY

B. P. HUYSMAN

P. S. KWONG

L. A. PIENIAZEK

G J/6 |

N87-18332

Uaclas

43517

SYSTEM DEVELOPMENT DIVISIONDEFENSE SYSTEMS GROUP

HOUSTON, TEXAS

https://ntrs.nasa.gov/search.jsp?R=19870008899 2018-07-27T04:05:51+00:00Z

47467-HO11-UX-O0

RELBET 4.0

PROGRAMMER'S MANUAL

23 DECEMBER 1986

PREPARED FOR

NATIONAL AERONAUTICS AND SPACE ADMINISTRATIONLYNDON B. JOHNSON SPACE CENTER

HOUSTON, TEXAS

CONTRACT NAS9-17554

PREPARED BY

B. P. HUYSMAN

P. S. KWONG

L. A. PIENIAZEK

SYSTEM DEVELOPMENT DIVISIONDEFENSE SYSTEMS GROUP

HOUSTON, TEXAS

47467-HO11-UX-O0

RELBET 4.0

PROGRAMMERS MANUAL

December 1986

Prepared for

National Aeronautics and Space Administration

Lyndon B. Johnson Space Center

Houston, Texas

Contract NAS9-17554

Approved by_,__ "L.-A."Plen_ad

Navigation Analysis Section

Approved by __• K. Phillips, Manager

Systems Engineering andAnalysi s Department

System Development Division

TRW Defense Systems GroupHouston, Texas

TABLE OF' COliTEliTS

1.0

Page

INTRODUCTION ..................................................... 1-1

1.1 IDENTIFICATION .............................................. 1-2

1.2 REQUIRED BACKGROUND ......................................... i-3

1.3 HARDWARE/SOFTWARE ENVIRONMENT ............................... 1-4

1.4 TERMINOLOGY AND CONVENTIONS ................................. 1-4

2.0 REFERENCES ....................................................... 2-1

3.0 FUNCTIONAL OVERVIEW .............................................. 3-1

3.1 GENERAL OVERVIEW ............................................ 3-1

3.2 CCT DATA FORMATTING ......................................... 3-3

3.3 DATA PREPARATION ............................................ 3-6

3.4 TRAJECTORY ESTIMATION ....................................... 3-9

3.5 PRODUCTS GENERATION ......................................... 3-11

4.0 DESIGN OVERVIEW .................................................. 4-1

4.1 BASIC PROGRAM STRUCTURE ..................................... 4-1

4.2 RELBET STANDARD FILE FORMATS ................................ 4-2

4.3 INCLUDE FILES ............................................... 4-3

4.4 SUBROUTINE MODULES .......................................... 4-4

4.5 LINPUT INPUT SCHEME ......................................... 4-4

5.0 DIRECTORY STRUCTURE ..............................................

5.1 CONTROL DIRECTORIES .........................................

5.2 PROGRAM DIRECTORIES .........................................

5.3 CONTEXT DIRECTORIES ........................................ .

5.4 UTILITY DIRECTORIES .........................................

4.5.1

4.5.2

4.5.3

4.5.4

4.5.5

4.5.6

File Routines ........................................

Input Manipulation Routines ..........................

Math Routines ........................................

propagation Routines .................................

Data Structure Manipulations .........................

Observation Computation ..............................

5-1

5-1

5-1

5-3

5-3

5-3

5-4

5-4

5-4

5-4

5-5

ii

TABLE OF CONTENTS (Conti nued)

6.0 INSTALLATION AND MAINTENANCE .....................................

6.1 INSTALLATION..., ............................................

6.1.1 Creating a RELBET Master Directory ...................

6.1.2 Reading the Delivery Tape ............................

6.1.3 Tailoring the System to Your Environment ........ ....

6.1.3.1 Graphic Display Device Configuration ..........

6.1.3.2 Tools Configuration ...........................

6.1 MAINTENANCE .................................................

6.2.1

6.2.2

6.2.3

6.2.4

Configuration Control ................................

Recreating Programs ..................................

Modifying Common, Input , Default, etc., Blocks .......

Documentation ............ ............................

Page

6-1

6-1

6-1

6-1

6-2

6-2

6-2

6-2

6-3

6-3

6-3

6-3

APPENDIX I

APPENDIX II

APPENDIX III

APPENDIX IV

FILE FORMATS .........................................

CONTEXT FILES ........................................

SUBROUTINE MANUALS ...................................

SOURCE LISTINGS ......................................

I-1

II-1

III-1

IV-I

iii

1.0 INTRODUCTION

This manual describes the RELBET 4.0 System as implemented on the Hewlett

Packard model 9000 computer system. It is directed toward programmers and

system maintenance personnel. It is intended to serve both as a reference and

as a introductory guide to the software. The body of the manual provides an

overview of major features and indicates where to look for further

information. Full details are left to Appendices. It is recommended that you

first read the body of this manual to familiarize yourself with terminology

and system organization.

This manual is divided into the following sections:

1. INTRODUCTION: Identifies the RELBET System and provides an overview

of the organization and use of the manual. Tells you what to expect.

2. REFERENCES: Provides references to associated documentation. Tells

you where to find additional information.

3. FUNCTIONAL OVERVIEW: Provides a basic functional overview of the

operation of the RELBET System. Explains what programs are supposed

to do.

4. DESIGN DESCRIPTION: Provides an overview of key features of the

design. Explains how things fit together.

5. DIRECTORY STRUCTURE: Describes the directory structure of the

delivery version. Explains where to look for something.

6. INSTALLATION AND NAINTAINCE: Describes procedures for installing the

delivery version on an HP9000 and provides an overview of maintenance

facilities. Explains how to change something.

The following appendices provide extensive details.

Io

II.

FILE FORMATS: Provides details on the formats of the files used by

the System.

CONTEXT FILES: Provides information on the contents of common

block, default values, parameter declarations, type declarations,

and so on. These files are generally associated with the "include"

directive.

1-1

III.

IV.

SUBROUTINE MANUALS: Provides a quick reference to subroutine

function descriptions and associated calling arguments used.

SOURCE LISTINGS: Provides listing of subroutine code suitably

indented to reflect the processing structure.

1.1 IDENTIFICATION

The RELBET System is an integrated collection of computer programs that

support the analysis and post-flight reconstruction of vehicle to vehicle

relative trajectories of two on-orbit free-flying vehicles: the Space Shuttle

Orbiter and some other free-flyer. The UNIVAC 1100 version of the system,

RELBET 2.0, realizes the full production and analysis capability. The HPgO00

version, RELBET 4.0, provides a basic post-flight data production capability

and is a partial implementation of the full analysis version. RELBET 4.0 was

created by carefully tailoring the RELBET analysis software to fit the

production problem and reflects a streamlined production-oriented version that

supports the post-flight reconstruction of relative trajectories and the

generation of standard data products.

In particular the RELBET 4.0 System accepts Orbiter downlist telemetry input

in the form of Computer Compatible Tapes (CCT's) and produces the following

outputs:

o RELBET Ancillary Data Product Tape

o RELBET Ancillary Data Fiche Tape

o SENSOR Program Input Data Tape

o SENSOR Program Environmental Data Tape

o Tables for Reports

It incorporates the following features not available in RELBET 2.0:

o Organization of standard runstreams into shell scripts

o Enhanced user input scheme via linput

o Increased data QA programs

o A text file QA data base

1-2

It lacks the following features available in RELBET 2.0:

o Data and trajectory simulation capabilities

o General purpose automatic editor

o Least Squares Filter

o Residual computation programs

o Binary Data Base Editor

o General interactive control of display processors

o Miscellaneous display processors

The delivered version of RELBET 4.0 is available in magnetic tape media and

consists of the following elements.

o Source code (configured in SCCS format)

o Relocatable subroutine code

o Executable programs

o Program creation directives (makefile's)

o Maintenance tools

o Program and subroutine documentation (for nroff formatting)

Tapes containing sample input and output are also available.

1.2 REQUIRED BACKGROUND

This manual assumes a basic familiarity with UNIX, C, and FORTRAN as

implemented via BOX and ratfor. In addition particular areas may require

additional expertise. This varies depending upon the application and is

summarized in Table 1.2. Parenthetical numbers indicate the applicable

section of standard UNIX manuals. For information on these areas, consult the

references in section 2.0 or a standard UNIX reference.

1-3

Table 1.2. Background Summary

Area

General source code

linput source

Graphics display

Configuration Control

Creating programs

Common blocks

Input blocks

Documentation

Applicable Background

FORTRAN, BOX, ratfor, C, Bourne Shell

C, lex(1), yacc(1)

DISSPLA

sccs(1)

make(l)

mtf utilities

mtf utilities

nroff(1), man(7), cstrip, txman, blist,clist, mtf utilities

1.3 HARDWARE/SOFTWAREENVIRONMENT

RELBET 4.0 assumes the following hardware configuration:

o Hewlett Packard 9000 Computer model 540

o Hewlett Packard 7935 440 Megabyte disk drives

o Hewlett Packard 150 computers as terminals

o Hewlett Packard 9872B plotter for plots

o Hewlett Packard 7970 g track 1600 bpi tape drive.

RELBET 4.0 assumes the following software environment:

o RELBET 4.0

o HPUX operating system version 5.1

o DISSPLA Graphics Library.

1.4 TERMINOLOGY AND CONVENTIONS

Terms are generally used in the sense of UNIX. In the following, program

refers to an executable object. When a distinction between an interpreted

shell program and a compiled and linked program is needed, the terms shell

program or binary program are used respectively. The term processor is also

used to mean a binary program. The term routine means a C function or a

I-4

FORTRAN routine. Routines correspond to source and relocatable code. They

are separately compiled but not linked. Thus there is a distinction between

driver routines and executable programs that results from linking. The terms

dlrectory and flle have the same meaning as in UNIX. The term module is used

in a descriptive sense to indicate a set of related routines. The term

package is also used descriptively. It indicates a set of related routines,

data structures, or even programs. The term context is used to indicate

information related to variables or subroutines defined elsewhere, as well as

sizing, format, and defined type information.

The following lexical conventions are used:

Program and File Names:

text discussion.

Bold font denotes program and file name within

Terminal Display: Terminal screen print examples are always indented and

separated from the discussion. Bo]d font denotes user input and regular

font denotes program output. Two lines consisting of a single indented

colon indicate an omission of several lines of text. The elipsis (...)

indicates a omission of text on a given line.

Flow charts use the following symbols:

--_ Processor Activity

Q Binary File

Text File

Displ ay, e.g., Pri nter Plot

User Knowl edge

I-5

2.0 REFERENCES

The following documentation is applicable to the RELBET 4.0. and the RELBET

System in general.

I. "Space Transportation System Post-flight On-orbit Relative Trajectory

and Ancil Iary Data Products," TRW Report 39107-HO11-UX-O0,

B. P. Huysman, L. A. Pieniazek, 1983.

2. "RELBET Product Description (Update/May 1985)", TRW Memo 85:W482.1-57,

B. P. Huysman, L. A. Pieniazek, 15 May 1985.

3. "Programming Standards for FORTRAN Deliverables," TRW Memo 82:W582.1-

16, D. K. Phillips, 10 February 1982.

4. "RELBET Software Level A Requirements," TRW Report 39107-HOO3-UX-O0,

L. A. Pieniazek, 18 May 1982.

5. "RELBET Software Level B Requirements," TRW Report 39107-HOO5-UX-O0,

B. P. Huysman, L. A. Pieniazek, 8 November 1982.

6. "Rendezvous BET Program, LRBET3," JSC-18638, W. M. Lear, December

1982.

7. "STAR Version 1.6 User's Guide," TRW Memo 83:W482.8-13, S. W. Strom,

3 May 1984.

8. "Preliminary RELBET User's Manual," TRW Memo 83:W482.8-24, L. A.

Pieniazek, 21 July 1983.

9. "RELBET Engineering Manual," TRW Memo 84:W482.8-125, L. D. Erdman, 15

October 1984.

10. "RELBET Programmer's Manual," TRW Memo 84:482.8-130, L. Morris, 26

October 1984.

11. "RELBET User's Manual Update," TRW Memo 85:W482.8-24, L. A. Pieniazek,

13 March 1985.

12. "HP General File Format (GFF) User's Guide," TRW Report 39107-HO21-UX-

00, D. G.Campbell, 14 December 1984.

13. "RELBET User's Manual Change Pages," TRW Memo 85:W482.8-106, P. S.

Kwong, 12 November 1985.

14. "RELBET Programmer's Manual Change Pages," TRW Memo 85:W482.8-I07, P.

S. Kwong, 12 November 1985.

15. "BOX System User's Guide," TRW Report 47467-HOO2-UX-O0, W. Pace and D.

Poritz, February 1986.

2-1

16. "Preliminary HP RELBETStreamlining Level A Description," TRWMemo86:W482.8-19, L. A. Pieniazek, 21 May1986.

17. "SENSORTape Production Manual," TRWMemo85.W482.1-60, J. Knoedler, 3June 1986.

18. "RELBET4.0 User's Guide," TRWReport 47467-HO10-UX-O0,B. P. Huysmanet al., December1986.

19. "RELBET4.0 Programmer's Manual," TRWReport 47467-HO11-UX-O0,P. S.Kwongand L. A. Pieniazek, December1986.

20. "HP-UXReference," Hewlett-Packard Company,1985.

21. "HP-UXConcepts and Tutorials," Hewlett-Packard Company,1985.

22. "The C Programming Language," B. W. Kernighan and D. M. Ritchie,Prentice-Hail, inc., i978.

23. "Automated CodeGenerator for C HeaderFiles," TRWMemo86:W482.8-25,L. A. Pieniazek, 8 October 1986.

24. "Automated Software Documentation Utility," TRWMemo86:W482.8-28, L.A. Pieniazek, 27 October 1986.

25. "Interface Control Documentfor ORDCComputer Compatible Tapes," CSC-1921, G. E. Habacek/CSC,February 1984.

26. "HP General File Format (GFF) User's Guide," TRW39107-HO21-UX-O0,D.

Campbell, 14 December1984.

27. "DISSPLA User's Manual," Integrated Software Systems Corporation,1981.

2-2

3.0 FUNCTIONAL DESCRIPTION

This section presents a functional description of the execution of RELBET

4.0. The description is at the level of major processing functions and will

identify the various programs and "shell scripts" or run streams which one

executes to accomplish each function. The overall process is first described

and then the major steps examined in more detail. Section 5.0 of the User's

Manual provides a detailed example of the process. The following discussion

makes parenthetical references to the appropriate subsection of Section 5.0.

3.1 GENERAL OVERVIEW

The RELBET production procedure consists of five basics steps:

o Data Collection

o Input Data Formatting

o Input Data Preparation

o Trajectory Estimation

o Generation and QA of Output Products.

Figure 3.1.1 summarizes this activity.

The activity begins with the collection of pertinent mission requirements and

parameters. These are used to request post-flight telemetry products and to

update a data base of standard program inputs. This preparation activity is

primarily manual and does not utilize any of the RELBET programs.

The first actual processing phase begins with the receipt of telemetry data.

The downlist telemetry comes in the form of Computer Compatible Tapes (CCT's).

Various RELBET programs are used to reformat the CCT into files accessible to

the various RELBET processors. These files contain information such as

vehicle attitude data, relative observation data, and sensed velocity data.

This step also transforms observation data into the RELBET reference frames

and edits data according to the onboard data good flags.

Various specialized quality assurance (QA) programs support the next

processing phase, data preparation. During this activity one checks the

3-1

fIIII!IIIII--O

II"

, ,, { )I [LOADS GENERIC

I FLIGHT ii RELDET

1 _ KNOWLEDGEi t

t

(--)QUALITY

] F°_TII CCT

1

...........I=It

1

(.-)DATA

QUALITY• EVENTS

1(--)ICHOWLEDGE

(DOWNLIST OPTION)

SOLUTION

QUALITY

(REFINED OPTION)

TUNING\: MODELING \

e FINE /

QUALITY /

i I

DATA COLLECTION

DATA FORMATTING

DATAPREPARATION

ESTIMATETRAJECTORY

I CONSTRUCTI

SENSOR I

TAPES I

I

PRODUCTGENERATION

Figure 3.l.l. RELBET Production Overview

3-2

overall quality of the downlist for basic telemetry difficulties such as

dropouts or invalid data. If the number of difficulties are excessive, a

request for replacement CCT's may be made. This phase further examines the

"raw" telemetry data and edits gross outliers. Precise times for pertinent

events such as attitude maneuvers or tracking intervals are also identified.

Such information is useful in resolving anomalies that may occur in subsequent

processing. At the completion of this phase, one has determined that the

input data are usable and and has generated information for later review and

analysis.

The next phase deals with estimating the relative trajectory. One also gives

the quality and consistancy of the data greater scrutiny during this phase.

During this process a Kalman filter processes the telemetry. The output of

the filter is reviewed to detect various anomalies. These anomalies are then

either corrected or accounted for by correlating them with specific events

that are known to cause problems. When satisfactory performance with the

Kalman filter is obtained, its solution estimates are processed with a

"smoother" program to obtain a "Best Estimate of the Relative Trajectory"

(RELBET).

During the final processing phase the required output products are assembled

from the various refined estimates and downlist telemetry. This activity is

supported by a variety of computational, formatting and quality assurance

programs.

3.2 CCT DATA FORMATTING

Before it can be used, the input telemetry data must be checked and

reformatted into a format accessible by the RELBET processors.

The major source of input data for the RELBET process is the downlist

telemetry contained in the CGO11X CCT (Computer Compatible Tape). (CGO11X is

a particular shuttle data product generated for each mission.) In general the

periods of interest are long enough that several CCT's are required. These

must be reformatted and merged into files with the format used by the RELBET

processors. Figure 3.2.1 depicts this process. The Q_wnfmt program strips

3-3

I

0I..I-

C%J

5..."3

,r-.

3-4

required parameters from the CCT, checks them for validity, and generates time

ordered binary files containing properly scaled parameters (5.2.1). In doing

this it identifies and extracts the homogeneous data buffer created by the

onboard rendezvous navigation program. This buffer is generated at the

navigation cycle frequency (about a quarter of a Hertz) and downlisted

asynchronously at a frequency of about one Hertz. Note that several files may

be produced from single CCT, each file with its particular contents. The

following files are required for later processing:

o Attitude file: contains selected quaternions and is used to determine

nrhit_r atfit,l_ Th_ fA11n.W4nn,,,_ A4e_,,ee4^n uses _h^ _kk ....;_;^_....... --v...------. o.ew , vi i _l@_Ue@ iVll bll_ UUUl _Y IQblVII

"AT[" for this file.

o Observation file: contains relative observations. The following

discussion uses the abbreviation "OBS" for this file.

o Sensed velocity file: contains selected sensed velocities for use in

propagating the orbiter through burns. The following discussion uses

the abbreviation "SVEL" for this file.

o Vehicle ephemeris files: contain on-board state estimates that are

used primarily for analysis and to obtain initial estimates. The

following discussion uses the abbreviations "OEPH" and "TEPH"

respectively for the orbiter and targer ephemerides.

o SENSOR Information File: contains miscellaneous data required for

generating the SENSOR tapes.

Several CCT's are usually needed to encompass an entire mission segment and

dwnfmt handles only one CCT at a time. Thus the telemetry for a mission

segment usually involves multiple telemetry files for each of the above

types. Subsequent processors expect only one file of each type. Thus it is

neccessary to merge the various files together. The shell program runjbfcom

will merge any number of files together (5.2.2).

The onboard systems associate a data good flag with each observation. If this

flag indicates that the current observation is bad then the onboard filter

does not process the datum. The shell program run obsedit edits the OBS file

for such data (5.2.3). This prevents the RELBET filters from processing bad

data. The radar angles as downlisted are in the roll-pitch frame used for

3-5

crew display. The shell program run__rptost converts the roll-pitch angles to

shaft-trunnion angles (5.2.4). The latter are preffered for filtering because

they theorectically exhibit statistically independent biases.

At the conclusion of this processing phase the CCT's have been formatted into

files required by the subsequent processors.

3.3 DATA PREPARATION

The input data formatting process gets the telemetry contained in the CCT's

into the RELBET system. Before processing the raw telemetry with the filters

or generating output products further processing is neccessary. Figure 3.3.1

depicts this process. It involves assessing the data coverage, editing bad

data points, and identifying events and anomalies that are not detected while

stripping the data. One then saves all this information into the event data

base.

Several shell programs help in this process. The shell script run__qacover

summarizes data coverage of all the data types on the downlisted observation,

attitude, and sensed velocity files (5.3.1). These files are analyzed to

determine the quality of the CCT's. If coverage is not complete, the Input

Data Formatting must be repeated with a newly requested CCT. If it is

complete, all problems associated with the downlink of the CCT's have been

identified and handled.

The execution of the shell script run_qadata identifies events in the data to

help in assessing filter performance later in the processing steps by

providing text files and some data files in gff format which can be analyzed

or plotted (5.3.2). The shell program run__noise runs the noise analysis

procedure. It computes noise values for each observation type and enters this

value into the proper slot of the observation file (5.3.3). The Kalman filter

needs the noise value for its processing. The program run noise also

generates text files that summarize the noise information.

One then uses the text files output from ruLqadata to edit the attitude,

sensed velocity, and observation files for bad data. Several shell programs

facillitate this editing process. The UNIX sort program merges the text files

3-6

e

t-O

°r-,

r_s_r_

s_

r_

c_

Q.JS_

1.1_

3-7

output by these programs into the event data base. From the event data base,

the shell program run search (5.3.5) extracts information relating to possible

difficulties. A knowledgeable engineer can review this information and

identify time intervals during which files should be edited. The shell

program run_imespan aids in preparing the time intervals (5.3.6). One uses

the program filedlt to edit the desired files. Two shell programs, run

edltradar and run editst help in editing the radar and star tracker data.

At the conclusion of the data preparation phase, one has edited the input data

and created a data base which will be useful for correlating problems during

a particular time period. The various gff files may be plotted for more

detailed analysis and review (5.3.7).

Table 3.3.1 summarizes the various QA programs.

Table 3.3.1. QA Programs

Name Text File Gff File

qaatt

qaranjmp

qastar

qasv

qanois

identifies attitude manueversand bad points on the attitudefile

identifies inconsistencies

in range and range rate todetect sudden biases or

equipment reconfiguration

identifies false targets

that the star tracker mayhave locked onto

identifies burns as jumps in

the magnitudes of the sensed

acceleration computed from the

sensed velocity and bad data

documents the noise for each

observation type

angular momenta and

magnitudes between con-secutive attitudes

star file containing azi-

muth, elevation, and anglefor each star trackerobservation

sensed acceleration file

noise files for each

observation

3-8

3.4 TR/IJECTORY ESTIMATION

Up until now the different input items have been looked at more or less

individually. During the next processing phase they are combined together to

obtain a best Kalman estimate. Figure 3.4.1 depicts this process.

The program sfilt uses a Kalman filter to process the various observation

information and the quality of the estimate is assessed (5.4.3). The programs

slnZrl, cmpZs9, and rlvsrl aid this assessment. The display programs qplot,

xqdlsp, and 9disp help to investigate the contents of gff files generated by

._^ v_1.., filter. '........ ' .......•,,y_,,ura, there w111 be various spikes and V1Olatlons of

different success criteria (e.g., 3-sigma residuals, excessive Ka!man edits,

etc.). These are manually correlated with possible causes and corrective

adjustments are effected when possible. This filter-evaluate-adjust process

continues until the user decides that no further refinements are merited.

At the conclusion of this phase, the best Kalman estimate of relative

trajectory has been obtained.

Kalman estimates tend to contain unrealistic spikes and also reflect

uncertainties due to looking at only one side of the data arc. A smoother

algorithm is used to remove the spikes and improve estimates by considering

both sides of the data arc. The smoother program smooth processes the results

of the best Kalman estimate. The results of this process are compared with

the Kalman estimate with the aid of the programs sln2rl, _2sg , and rlvsrl

and the various display programs. If there is a large discrepancy between the

smoothed and Kalman estimates further adjustments may be neccessary. When a

satisfactory smoothed estimate is obtained the program slnZrl extracts the

relative trajectory information from the smoothed solution.

At the conclusion of this processing phase the best estimate of relative

trajectory has been obtained.

3-9

II

r-I

C SIGMARATIOS

t

IT SMOOTH

EPH M

-TI

0!I

t

1

cM,2soIiRLVSLSLNERL

SFILT

_LV

Ts I

I

tI so,=io,,J

C KALHANEDITS

t

I I EXCESSIVE I

CMP2SGRLVSL

"_ C DEXTEANTBAsE_

IY

• ! CORRELATEi

r

SLN2RL

ADJUSTHENTS

Figure 3.4.1. Trajectory Estimation

3-10

3.5 PRODUCTS GENERATION

When suitable quality telemetry data and trajectory estimates have been

obtained, the output ancillary products are generated. Figure 3.5.1 depicts

the process for the Ancillary Data Products. The program pro(Ix is used to

compute the required parameters (5.5.2). The program qatape is used to read

the product tape and perform a check of its contents (5.5.3).

Other formatting programs such as stop, fiche, and mktape are available for

generating other products such as the SENSOR tapes and microfiche print.

Figure 3.5.2 depicts the process for creating the SENSOR tapes: the SIT

kOL,wOUR _fmpu_ Tape) and the _Lm I_LNbUR Environment Tape). The final report

is obtained by manually assembling various plots and tables obtained in

previous processing (5.5.5).

RELBET processing is done when all identified products have been delivered.

3-11

i!

I ANCILLARY

PRODUCTS

COMPUTA-TION

PRINT]

PRODX

FICH

MKTAPE

QATAPE

i

J

°y

QATAPE

C DATABASE

ASSEMBLE

DOCUMENT

Figure 3.5.1. Ancillary Product Assembly

3-12

iI

I COMBINEEPHEMSI

SENSORTAPE OUTPUTPROGRAM

STOP

ONLY IF RELATIVEEPHEMERIS NOTAVAILABLE

Figure 3.5.2. SENSOR Tape Construction

3-13

4.0 DESIGN OVERVIEW

The RELBET system was envisioned as a set of general purpose analysis tools

that would be flexible, easily integrated, and easily maintained. The result

is a design that stresses modularity, functionality, and commonality. Some

key feaures of the design and implementation are:

o Isolation of logic and data to well defined routines or blocks

o Data structuring via blocks of functionally related variables

o Extensive use of include directives to provide consistant context

o A common library of utility routines organized in functional modules

o A standardized binary file format that faci!!itates interprogram

interfaces

o A standardized input scheme (linput) that reflects data structuring.

In the following we expand the above and point out other general features that

might not be immediately evident from reading the source code or the

appendices.

4.1 BASIC PROGRAMSTRUCTURE

The RELBET System includes both binary and shell programs. The main criterion

for allocating whether logic occurs in a shell or binary program is that

binary programs should be both simple and functionally specific. Shell

scripts are used to tie together programs for more complicated applications.

Thus instead of providing a single program with multiple user options, say

different data type QA options, separate programs for each option are

provided. This approach has two major benefits. First the logic of a single

program is usually substantially reduced since it need only deal with a

particular case. Secondly the user is not restricted to the logic in an

executive when combining the various options together.

Thus one may identify two levels on which the programs are put together, i.e.,

integrated: that of shell programs and that of binary programs. The shell

programs integrate binary programs together and control specific applications

such as data stripping or product generation. The shell programs deal with

4-1

binary programs and particular files. At this level one mayview the files as

information objects and the binary programs as functions that change or filter

the files. Input text files provide the detailed user interface.

The majority of the compiled software for RELBET is written in HP FORTRAN 77

using BOX. The remaining is written in C or in FORTRAN using ratfor. These

programs make use of a library of utility routine modules. This means that the

programs share many routines and exhibit a large commonality in techniques.

Furthermore logic is generally isolated to a unique location rather that

duplicated in many locations. Data structuring and access is with a standard

set of blocks of functionally related variables and parameters. These blocks

are maintained in their separate files and are accessed with the compiler

include directive.

The binary programs generally consist of a driver and some specific routines

that access the standard utility routine library. To a large extent, common

blocks and context files pass information between the utility routines. To

use a metaphor, the utility modules provide interchangeable components, the

drivers provide a framework, and the comon and context files provide the

glue. Note that a given program generally does not use all modules although

some modules are heavily used, e.g., Files and Input. Also note that some

modules invoke routines from other modules so that there is a hierarchal

dependency among the modules.

4.2 RELBET STANDARD FILE FORMATS

The main method of passing large amounts of data between RELBET processors is

through the use of binary files with a standardized formats that are generi-

cally referred to as the RELBET format. This provides a standard consistant

mechanism for interprogram communication. There are actually two basic

formats: the gff (general format file), and the gb (general binary) format.

Both consist of a fixed size header record followed by data records. They are

more or less equivalent with the major differences envolving the use of

certain header parameters and the size of allowable records. Appendix I

discusses the file formats in detail. Routines in the Files directory provide

access to them. The files in the Parameters directory and the C header file

4-2

Gbfiles.h provide information on file related data structures. Refer to

Appendix I for additional information on specific 9ff file formats and to

Appendix III for information on the low level routines.

WARNING: In order to maintain consistancy and simplify maintenance, a

programmer should not access files directly.

NOTE: RELBET processors are not sensitive to the dictionary of frame

variables found on the file headers nor do they necessarily place the GFF id

in the header as do some versions of gff routines.

4.3 INCLUDE FILES

A standard set of files provide context, sizing, and design dependent

parameters such as type declarations, data flag values, and file formats. The

directory Parammters contains FORTRAN parameter statement blocks, and the

directory Linklib provides C header or ".h" files. The source uses "include"

statements to access them. Appendix II provides details.

The main vehicle for passing information between the various subroutines

making up FORTRAN and ratfor programs is through FORTRAN common. The common

blocks are contained in the directory Ntfcommon and include dimension, type

and commented definitions for each variable in the named common. Note that

the MTF utilities are available for their maintenance.

Many of the common blocks have defaults for some of the variables. These are

provided using FORTRAN data statements associated with each named common.

These data blocks appear in the block data subroutines associated with the

various programs and are in the directory Ntfdefault.

Many of the common blocks have user input available for some of the

variables. The common inputs are accessed by the user though a set of C

language routines in the directory Llnput. The interface calls between the

FORTRAN and linput routines are done on a variable by variable basis, and the

includes associated with the interface are under the directory Ntfinput.

4-3

The directory Parameters contains various "parameter" declarations. These

deal primarily with FORTRAN and ratfor file I/O routines. These versions are

basically copies of one another with appropriate changes.

The C language routines pass information to each other by the use of the data

structures and typedefs. The definitions of these objects are normally found

in header files (.h files) which are included in the C routines and are listed

under Linklib.

All the include files are contained in Appendix II.

4.4 SUBROUTINE MODULES

Modules group together routines with related functions such as coordinate

transformations or matrix operations. Routines unique to a given program

receive their own module. In general, a module is shared by many programs.

However, a particular piece of logic is isolated to a single routine. The

directories reflect the modular organization. Section 5.0 provides an

overview of the directories and the modules. Appendix III provides a synopsis

of the contents of the modules and the routines. It also provides a cross

reference between identifiers and modules. Appendix IV provides source code.

4.5 LINPUT INPUT SCHEME"

The linput input scheme provides a standard user interface. The mtf utility

mtfuser generates blocks of input parameters in the Mtfinput directory from an

associated mtf text file. The "xx" routines provide the interface between the

input text and the common blocks.

4-4

5.0 DIRECTORY STRUCTURE

The RELBET directory hierarchy structure is quite simple: a single master

directory with about 40 subdirectories. Each of these subdirectories contains

a group of closely related files. The basic benefit of this approach is that

it greatly simplifies relative pathnames for includes. For the purpose of

discussion, however, it is convenient to group directories as to their

contents or function. The directories accordingly fall into the following

major groups:

o Control Directories that contain executables and input data

o Program Directories that contain program unique code

o Context Directories that contain data structure information such as

common blocks and parameters

o Utility Directories that contain general purpose utility routines

5.1 CONTROL DIRECTORIES

These directories contain the executable binary programs, shell scripts, and

program maintenance directives and utilities.

Control

Make

Test

Tools

Manual

Pmanual

Executable and production shell scripts

Make directives used to recreate executables

Sample inputs and shell scripts

Maintenance tools

Program user manuals

Routine Manuals

5.2 PROGRAM DIRECTORIES

Table 5.1 lists those directories associated with particular programs or

executable objects. In general a program is matched with the directory

containing its driver and other routines specific to that application. Such

directories are referred to as program directories.

5-1

Table 5.1. ProgramDirectories

Directory

Downfor

Filter

Fich

Fman

Mktape

Noisanal

Numdis

Plot

Product

Qatape

Prg)ram Name

dwnfmt

rptost

sfilt

smooth

fiche

cmp2sg

eph2relfiledit

gbfcommkinit

obsnois

qaatt

qacoverqanois

qaranjmpqastar

qasvrdwt

read set

read-sit

rlvs-_l

search

slnZrl

stop

mktape

ddnois

gdisp

xcmpar

xqdisp

ascale

pl otx

prodx

qatape

Description

Downlist Formatter

Roll/pitch to shaft trunnionobservation convention

Kalman filer

Smoothing Filter

Create microfiche

Compare state difference to sigma

Convert ephemerides to relative trajectoryFile editor

Combine gff files

Make the init input blockPlace noise data on obs file

QA the attitude file

QA the data coverageQA the data noise

QA the range observationsQA the star tracker obs

QA the sensed velocityRead file then write file

Read SET file and print

Read SIT file and print

Compare relative trajectory filesExtract data from event data base

Strip relative trajectory from solution file

Create SENSOR output tapes

Create output UNIVAC tape

Compute obs data noise

General gff display

Compare two ephermeris files

State/Attitude Parameter Di splay

Auto scale

Graphic display of gff files

Special product generation

QA special product tape

5-2

5.3 CONTEXT DIRECTORIES

These directories contain text files which are "included" in FORTRAN or C

language routine by the compiler to provide context information and data

interfaces.

Mtf

Mtfcommon

Mtfdefaul t

Mtfinput

Parameters

Linklib

MTF master textfiles

Common declarations

Data statements for common blocks

linput interface calls for user inputs into common

blocks

FORTRAN and ratfor parameter declarations

Header (.h) files used by C routines

5.4 UTILITY DIRECTORIES

These directories comprise a library of general purpose utility routines.

They are used by various programs as opposed to the Program Directories whose

routines are not required by any other program. These directories generally

form packages of related routines and are accordingly synonomous with modules.

5.4.1 File Routines

Two sets of gff file routines are provided as well as a set of FORTRAN

interfaces to the gff routines are used to actually invoke the gff routines.

Gff

Gbfile

Files

FORTRAN routines modeled after the orignal gff

routines

C routines allowing more general access to creating

and processing of binary files used by Downfor and

Fman processors

The gff interface routines used by the programs

Kalman, Notsanal, Numdts, Plot, Product, and Smooth

5-3

5.4.2 Input Manipulation Routines

These directories are involved in the process of reading and preparing user

input for use by the processors.

Linput

Lists

Input

Prompts

The C routines which form the linput input scheme and

the interfaces with FORTRAN

The C routines which manipulate the data structures

used by linput

FORTRAN routines for preliminary processing and

display of inputs received through linput

FORTRAN routines related to menu generation

5.4.3 Math Routlnes

These directories provide general mathematical tools.

Coordinate Coordinate transformation routines

Interpolate Interpolation routines

Math Trig, matrix, vector, and quaternion routines

5.4.4 Propagation Routines

These directories contain routines for propagating vehicle trajectories.

Celestial

Force

Propagate

Compute positions of celestial objects

Compute forces on an orbiting body

Routines to initialize and drive the

process

propagation

5.4.5 Data Structure Manipulations

The routines in these directories manipulate various types of data or data

structures. They include C and FORTRAN routines.

5-4

Charutil

Dsputil

Message

Stacks

Time

Manipulate FORTRAN character strings

Gff file header frame data displays

Provide general display of character strings related

to warnings and other status messages

Routines to manipulate stack data structures

Routines for conversion and manipulation of time data

5.4.6 Observation Computation

This directory contains routines related to observation processing.

Kalman and Smoother filter programs need these routines.

Obs Observation computation routines

The

5-5

6.0 INSTALLATION AND MAINTENANCE

The delivery tape is a tape archival of a configured RELBET directory

installed on the TRW Houston System Services HPgO00 system configuration.

This installation reflects the system environment described in section 1.3,

Hardware�Software Environment, of this manual. The installation is geared to

maintaining configuration control and reflects a single user owner of all

files. The maintenance is supported by a variety of standard UNIX and TRW

utilities.

6.1 INSTALLATION

To install the delivery tape onto your system, you must read the delivery tape

into a directory with a proper user environment. Depending on your needs and

your system environment you may also need to reconfigure the user environment

and device access.

6.1,1 Crea¢t n_ a RELBET Raster Ot rectory

All files on the tape are owned by user Relbet be]onging to group Relbet. The

examples in the User's Manual and all the shell programs assume that the

directory /users/Relbet/Master/Control is included in the environment variable

PATH. To use the maintenance tool include /users/Relbet/Naster/Tools/Abs in

PATH. The login shell should be sh.

6.1.2 Reading the Deltver_f Tape

The delivery tape is a 1600 bpi 9 track tape created from a configured Master

RELBET directory using the UNIX tape archival utility tar. It was created

with the command

tar cvf /dev/tapeO *

6-1

while in the master RELBET directory. You can use a procedure similar to the

following to to read the tape into your master own RELBET directory.

cd luserslRelbetlMaster

#assign tape

mt -t IdevltapeO few

tar xvf /dev/tapeO

#release tape

#rewind

#read tape

6.1.3 Tatlortn 9 the System to Your Environment

The delivered version may not reflect your system environment so that it may

be neccessary to make a few alterations before proceeding. The most likely

candidates are display devices and maintenance tools.

6.1.3.1 Graphic Otsplay Device Configuration

The delivery version of the graphics display program plotx uses the DISSPLA

graphics library with devices configured for the HP150 terminals and the

HP9872B plotter. The make directives assume the DISSPLA library is contained

in the directory lusrlliblDisspla.

6.1.3.2 Tools Configuration

The directory ToolslAbs contains links to executables for various code

generation and documentation utilities. The source for these is found under

the directories in Tools. Note that this directory uses multiple links to

executables and documentation. You may need to reconfigure the line and page

length controls for the text formatters depending upon your line printer.

These controls are mostly found as arguements in shell scripts such as the f_

programs.

6-2

6.2 MAINTENANCE

The RELBET System was designed to be built and maintained using a variety of

UNIX and TRW developed tools. The following provides an overview of their

application. Look in Tools/Manuals for further information.

6.2.1 Configuration Control

The system is delivered with all source under sccs cntrol with a base version

of 4.1. The tools under the Tools directory are also under sccs control, but

with a base version of 1.1. As delivered only the system owner (user Relbet)

can alter these files with programs such as delta. This scheme is designed to

support a strict configuration control.

6.2.2 Recreatln 9 Programs

The directory Make contains directives for the UNIX makeprogram.

new executable run make with the appropriate directives.

To create a

6,2,3 _difytn 9 Comon. Input. Default, etc., Blocks

The system was designed to use the MTF (Master Text File) utilities to create

and maintain information associated with blocks of related variables. To

alter one of these objects, modify the associated MTF file, found in Mtf, and

run the appropriate reformatting program:

mtf blk

mtf_npt

mtf data

mtf user

generates FORTRAN common code

generates linput invocations for input

generates FORTRAN data statements

generates user manual entries

Refer to the documentation section below for how to generate cross references.

6-3

6.2.4 Documentation

Listings may be obtained with the shell program src]ist. Note that this shell

uses the program bxp rather than the standard bllst program which expands all

includes.

Manual entries are generally available in the 1_man format for reformatting

into the nroff/man format. Program manuals must be manually produced.

Routine manuals may be automatically generated using the programs bcmanuals,

boxstrip and cstrlp. Cross references may generated with procedures like

those outlined in the shell scripts mtfcmntoc and mtfnpttoc.

6-4

APPENDIX I

FILE FOPJ_J_TS

I-i

TABLE OF CONTENTS

1.0 INTRODUCTION .....................................................

Page

I-1

2.0 EXTERNAL FILES ...................................................

2.1 DOWNLIST CCT ................................................

2.2 RELBET PRODUCT FILE .................................... ,....

2.2.1

2.2.2

2.2.3

SENSOR

SENSOR

Binary Data Products File ............................

Output Contents ......................................

Parameter Groups .....................................

INPUT TAPE ...........................................

ENVIRONMENT TAPE (SET) ...............................

I-i

I-I

I-2

I-2

I-5

I-5

i-II

1-14

3.0 INTERNAL FILES ...................................................

3.1 GENERAL FORMAT ..............................................

3.2

3.3

3.4

3.5

3.6

3.7

3.8

3.9

3.10

3.11

3.12

3.13

3.14

3.15

3.1.1 Format Compatibility .................................

3.1.2 Overall File Format ..................................

3.1.3 RELBET Data Frame Formats ............................

3.1.4 File I/O Packet ......................................

3.1.5 File Header Format ...................................

3.1.6 Dictionary Format ....................................

SENSED VELOCITY FILE ........................................

ATTITUDE FILE ....................... ........................

OBSERVATION FILE ............................................

EPHEMERIS FILE ..............................................

IMU ATTITUDE FILE ...........................................

IMU SENSED VELOCITY FILE ....................................

SOLUTION FILE ...............................................

RELATIVE TRAJECTORY FILE ....................................

PLOT DISPLAY FILES .........................................

COAS MATRIX FILE ...........................................

STAR TRACKER MATRIX FILE ...................................

SUPPLEMENTARY SIT FILE .....................................

ENVIRONMENT FILE ...........................................

QA FILES ...................................................

1-17

1-17

1-17

1-17

1-18

1-19

1-22

1-23

1-25

1-25

1-25

1-26

1-26

1-27

1-27

1-28

1-28

1-30

1-30

1-30

1-31

1-31

I-ii

TABLE OF CONTENTS (Continued)

3-16 SENSOR FILES ...............................................

Page

1-32

4.0 TEXT FILES ....................................................... 1-35

5.0 DATA BASE FILES ................................................... 1-36

REFERENCES ....................................................... 1-37

I-iii

1.0 INTRODUCTION

The RELBET System uses a variety of files for interprogram communication.

files may be grouped into four categories:

o External data files that provide system input or output

o Internal files used by the System to communicate between programs

o Display files generated by the System

o Data base files.

The

2.0 EXTERNAL FILES

These are files with specific formats and are treated as foreign by the RELBET

System. They include input and product data files.

INPUT

OUTPUT

Downlist CCTs

RELBET Product TapeRELBET Microfiche Text

SENSOR Input Tape (SIT)

SENSOR Environment Tape (SET)

2.1 DOWNLIST CCT

The Downlist File contains on-orbit observation data and time-tags associated

with various on-board sensors. By collecting and reformatting these data

RELBET constructs files for sensed velocities, attitudes and observations as

well as ephemerides for the Orbiter and target vehicle. The format of this

tape is described in the CCT Interface Control Document, reference 1 at the

end of the Appendix.

I-1

2.2 RELBET PRODUCT FILE

The program prodx generates the RELBET Special Products File. It utilizes

trajectory and attitude information from input standard format files to

produce data product files containing various parameters over a specified time

interval. Output includes print describing the input and processing status.

Options include tape, binary, and formatted data product files.

2,2.1 Btnar7 Data Products File

The user has the option to generate a binary data products file corresponding

to the RELBET Ancillary Data Products described in Reference 2 at the end of

this Appendix. This file is tape or mass storage according to the user

assignment. This multi-record file has the following general format:

First Record:

Second Record:

Succeeding Records:

END OF FILE

Identifier record

Dictionary record

UNIVAC binary data records

The first record has a fixed length of 26 UNIVAC single precision words. The

dictionary and data records all have the same length; however, this length

varies depending on the particular parameters desired. Table 2.2.1 depicts

the overall file format.

The file identifier record provides the user with information to identify the

file contents. The format is shown in Table 2.2.2. The first twelve (12)

words constitute a generic identifier message. The thirteenth word is the

alphabetic "SPEC" which identifies the data as a special BET product. The

next twelve integer words specify the time period in Greenwich Mean Time (GMT)

covered by the data records. The last word is an integer defining the number

of parameters in the dictionary.

I-2

Table 2.2.1. File Format

RECORD

1

2

3

C

INFORMATION

Tape Identifier

Parameter Dictionary

Data

Monotonically

IncreasingTime

Data

I-3

Table 2.2.2. File Identifier Record Format

SINGLE

WORD

NUMBER

1

m

i2

13

14

15

16

17

18

19

20

25

26

DEFINITION

48 character

identifier messageflight no., dataetc.

SPEC

tape start GMT(first data record)

tape stop GMT(last data record)

number of parameters

in dictionary

YR

MO

DAY

HR

MIN

SEC

YR

SEC

TYPE

alphabetic (single)

alphabetic (single)

integer (single)

integer (single)

integer (single)

I-4

The dictionary record format shown in Table 2.2.3 informs the user of the

available parameters and their relative location on the data records. The

first word is an integer defining the number of parameters in the

dictionary. The remaining N alphabetic words identify the relative locationof the value of the parameter.

The data record format shown in Table 2.2.4 provides the double precision

parameter data in a format where the value for a parameter is in the

corresponding word location of that parameter symbol in the dictionary

record. Note that the first word constitutes a last record flag.

2.2.2 Output Contents

A formatted Data Products file will be generated at user option. This file

contains the same parameters at the same frequency as the binary data products

file. It consists of a dictionary description followed by displays of each

output record.

2.2.3 Parameter Groups

The ancillary parameters are divided into 17 groups with the option to include

or omit each group. These parameter groups are described in Table 2.2.5.

Note that the continuation flag (entry 1, dictionary name CONTINUE) is always

included. Although any subset of these 17 groups may be selected, a fatal

error will result if none are chosen or sufficient input information to

compute parameters is not provided.

I-5

Table 2.2.3. Dictionary Record Format

DOUBLE

WORD

NUMBER

1

2

3

N+I

VARIABLE DEFINITION

N = No. of parameters

in dictionary

Symbol for parameter inlocation 2 on data

record (1st variable)

Symbol for parameter inlocation 3 on data

record (2nd variable)

Symbol for parameter inlocation N + 1 on data

record (Nth variable)

TYPE

integer (double)

alphabetic (double)

alphabetic (doubl e)

alphabetic (double)

Note: Value for

Variable no. 1 is the double precision word 2 on data record•

Variable no. 2 is the double precision word 3 on data record•

Variable no. N is the double precision word N + 1 on data record.

I-6

Table 2.2.4. Data Record Format

WORDNUMBER VARIABLE DEFINITION TYPE

1 ITYPE 0 = continuingrecords

I = last record

in file

Double

Precision

2 Value of parameter in Double

location 2 on dictionary Precisionrecord (1st variable)

3 Value of parameter in Double

• location 3 on dictionary Precision• record .

N + 1 Value of parameter in Doublelocation N + I on Precision

dictionary record

Note: N is number of parameters read from previous dictionary record.

I-7

Table 2.2.5. Special Products Parameters

VARIABLE

SET

Time, Greenwich mean (GMT)Orbiter onboard

Time, Greenwich mean (GMT)Ground - MCC UTC

Time, ground elapsed (GET)

State Vector, Orbiter, inAries mean of 1950

Cartesian coordinate

System

State Vector, Orbiter, in

free flyer LVLHCartesian coordinates

State Vector, Orbiter, in

free flyer UVWCartesian coordinates

Attitude, Orbiter, Euler

angles, body axis

with respect to OrbiterUVW coordinates

PARAMETER

GROUP

NAME

6

7

SYMBOL PARAMETER

SGMTY

SGMTMO

SGMTD

SGMTH

SGMTM

SGMTS

GMTY

GMTMO

GMTD

GMTHGMTM

GMTS

GETH

GETM

GETS

XM

YM

ZM

XDM

YDM

ZDM

SLVX

SLVY

SLVZ

SLVXD

SLVYD

SLVZD

SU

SV

SWSUD

SVDSWD

ALPHU

BETAU

PHIU

X

YZ

z

X

YZ

k

U

V

W

yaw

pitchroll

UNITS

yr

month

dayhr

min

sec

yrmonth

dayhr

min

sec

hr

min

sec

km

kmkm

kmlseckmlsec

kmlsec

km

km

km

kmlsec

kmlsec

kmlsec

km

kmkm

kmlsec

kmlsec

kmlsec

degdegdeg

I-8

Table 2.2.5. Special Products Parameters {Continued)

VARIABLESET

Attitude, Orbiter, Trans-

formation, Aries mean

of 1950 to body matrix

Attitude, Orbiter, quatern-ion, Aries mean of

1950 to body axes

Attitude, rate, Orbiter,

angular velocities and

total rate, body aboutAries mean of 1950

Cartesian coordinates

Look angle, and angle rates

orbiter body to free

flyer

Range, and range rate,between vehicle

reference points

Simulation Flag

State Vector, free flyer, inAries mean of 1950

Cartesian coordinates

State Vector, free flyer, inAries mean of 1950

Cartesian coordinates

relative to Orbiter

PARAMETER

GROUP

NAME

9

10

11

12

13

14

15

SYMBOL PARAMETER

All

A12

A13

A21

A22

A23

A31

A32

A33

Q1

Q2

Q3Q4

YDOTB

PDOTB

RDOTBTDOTB

AZ

EL

RAZ

REL

RANGE

RRATE

PSIM

PMX

PMY

PMZPMXD

PMYD

PMZD

PRMX

PRMYPRMZ

PRMXD

PRMYDPRMZD

matri x

elements

row

ordered

scalar part

vector

rate about z

rate about yrate about xtotal rate

yaw

pitch

yaw rate

pitch rate

range

range rage

X

YZ

Z

X

YZ

Z

UNITS

n°d°

n.d.n.d.n.d.n.d.n.d.n.d.n.d.n.d.

n°d°

n.d.n.d.n.d.

deg/secdeg/secdeg/secdeg/sec

deg

deg

deg/sec

deg/sec

km

kmlsec

n.d,

km

km

km

km/sec

km/sec

km/sec

km

km

km

kmlsec

km/sec

kmlsec

I-9

Table 2.2.5. Special Products Parameters (Continued)

VARIABLESET

State Vector, free flyer, inOrbiter UVW Cartesian

coordinates

State Vector, free flyer, inOrbiter LVLH Cartesian

coordinates

PARAMETER

GROUP

NAME

16

17

SYMBOL PARAMETER UNITS

PU u km

PV v km

PW w km

PUD _ km/sec

PVD _ km/sec

PWD _ km/sec

PLVX x km

PLVY y kmPLVZ z km

PLVXD _ km/sec

PLVYD _ km/sec

PLVZD _ km/sec

1-10

2°3 SENSOR INPUT TAPE

The program stop (Sensor Tape Output Processor) generates two files in the

Sensor Input Tape (SIT) and Sensor Environment Tape (SET) formats. These

formats are described in reference 3 at the end of this Appendix. Both are

input for the SENSOR program. The SIT file contains relative observation,

attitude, sensed velocity, and vehicle state information. Each record has

length of 80 integer words and consists of 59 parameters and one unused

position per record. Table 2.3.1 describes the format and also provides

associated units and data types. Note that single precision and integer data

displace one integer word and double precision data displaces two integer

words.

1-11

Table 2.3.1. Data Format for Sensor Input Tape

PARAMETER SOURCE/ ENG.

DESCR IPT ION M/S ID UN ITS

1. Year vgow4749C Years

2. Month " Months

3. Day " Days

4. Hour " Hours

5. Minute " Minutes

6. Seconds " Seconds

7. GMT Time " Seconds

8. M50 Shuttle - x VgOH4277C-79C Feet

9. - y " Feet

10. - z " Feet

11. - _ VgOL4281C-83C Feet/Sec

12. - _ " Feet/Sec

13. - _ " Feet/Sec

14. COAS Data Good Flag vgox4849X --

15. COAS Horizontal Measurement vgou4847C Radians

16. COAS Vertical Measurement VgOU4848C Radians

17. RNDZ Radar Angles Flag vgox4901X --

18. RNDZ Radar Roll vgou4893C Degrees

19. RNDZ Radar Pitch V9074894C Degrees

20. RNDZ Range Flag VgOX4899X --

21. RNDZ Range Measurement VgOU4895C Feet

22. RNDZ Range Rate Flag VgOX4900X --

23. Rate Measurement VgOU4896C Feet/Sec

24. Star Tracker Data Good Flag vgox4835X --

25. Star Tracker Horiz. Meas. vgou4833C Radians

26. Star Tracker Vert. Meas. V90U4834C Radians

27. Nay. Powered Flight Flag VgOX4264X --

28. MSO Accum. - x VgOL8927C-29C Feet/Sec

(CG ref.)

RECORD RECORD

LOCATION TYPE

I I

2 I

3 I

4 I

5 I

6 I

7 D

9 D

11 D

13 D

15 D

17 D

19 D

21 I

22 S

23 S

24 I

25 S

26 S

27 I

28 S

29 I

30 S

31 I

32 S

33 S

34 I

35 D

1-12

Table 2.3.1. Data Format for Sensor Input Tape (Continued)

-E

MSO to Body Quaternion

al

n

il

DA Threshol d

DAP Jet Flag

Unused

Star Tracker Matrix

II

SOURCE/

M/SID

vgou4254C

V90H4287C-89C

II

ml

VgOL4291C-93C

U

II

V95U0873C-76C

n

ii

||

VgOA4747C

V90XS185X

vgou4920C-28C

LI

|!

II

Star Tracker Time-tag

COAS Matrix

II

vgow4837C

vgou4857C-65C

ml

u

n

COAS Time-tag vgow4853C

Rendezvous Radar Quaternion V90U4829C-32C

PARAMETER

DESCRIPTION

31. Current Orbiter Mass

32. M50 Target - x

33. - y

34. - z

35.

36.

37.

38.

39.

40.

41.

42.

43.

44.

45.

46.

47. "

48. "

49. -53.

54.

55.

56.

57. "

58.

59. -63.

64.

65.

6 • n n

67e 1' II

68. " "

69. Rendezvous Radar Time-tag V90W4841C

ENG. RECORD

UNITS LOCATION

Slugs 41

Feet 43

Feet 45

Feet 47

Feet/Sec 49

Feet/Sec 51

Feet/Sec 53

-- 55

-- 56

-- 57

-- 58

Micro g sec 59

-- 61

-- 62

-- 63

-- 64

-- 65

-- 66

67-71

Seconds 72

-- 74

-- 75

-- 76

-- 77

78-82

Seconds 83

-- 85

-- 86

-- 87

-- 88

Seconds 89

RECORD

TYPE

D

D

D

D

D

D

D

S

S

S

S

D

I

I

S

S

S

S

S

D

S

S

S

S

S

D

S

S

S

S

D

1-13

2.4 SENSOR ENVIRONMENT TAPE (SET)

Each record has length of 104 integer words and contains 64 downlisted

parameters and one unused space ordered as specified in Table 2.4.1. The

table also provides associated units, and data types. Note that single

precision and integer data displace one integer word and double precision data

displace two integer words.

1-14

Table 2.4.1. Data Format for Sensor Environment Tape

io

2.

3.

4.

5.

6.

7.

8.

9.

10.

11.

12.

13.

14.

15.

16.

17.

18.

19.

20.

21.

22.

23.

24.

25.

26.

27.

28.

29.

30.

31,

32.

PARAMETER SOURCE/ ENG. RECORD

FSSR NAME M/SID UNITS LOCATION

DA.THRESHOLD V90A4747C f/s 1

DVDISP(1) VgOL5181C f/s 2

DVDISP(2) V90L5182C f/s 3

DVDISP(3) VgOL5183C f/s 4

E(1,1) vgou4006C n 5

E(2,2) V90U4027C n 7

E(3,3) vgou4047C n 9

E(4,4) vgou4067C n 11

E(5,5) V90U4087C n 13

E(6,6) vgou4108C n 15

E(1,2) vgou4007C n 17

E(1,3) VgOU4008C n 19

E(1,4) VgOU4009C n 21

E(1,5) V9OU4011C n 23

E(1,6) vgou4012C n 25

E(2,3) VgOU4028C n 27

E(2,4) vgou4029C n 29

E(2,5) vgou4030C n 31

E(2,6) vgou4031C n 33

E(3,4) vgou4048C n 35

E(3,5) vgou4049C n 37

E(3,6) VgOU4050C n 39

E(4,5) vgou4068C n 41

E(4,6) VgOU4069C n 43

E(10,10) VgOU4088C n 45

NAV.ANGLES.AIF vgoj4253C n 47

NAV.RANGE.AIF vgoj4268C n 48

NAV.RDOT.AIF vgoJ4269C n 49

NAV.SV.SOURCE.FOR.UPP vgox4977X n 50

NAV.DO.COVAR.REINIT vgox4256X n 51

NAV.DO.FILTERED.TO.PROP vgox4975X n 52

NAV.DO.FILTR.SLOW.RATE vgox4257X n 53

TYPE

S

S

S

S

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

D

I

I

I

I

I

I

I

1-15

Table 2.4.1. Data Format for Sensor Environment Tape (Continued)

PARAMETER SOURCE/ ENG. RECORD

FSSR NAME M/SID UNITS LOCATION

33. NAV.DO.ORB.TO.TGT VgOX4258X n 54

34. NAV.DO.OV.UPLINK vgox4260X n 55

35. NAV.DO.PROP.TO.FILTERED vgox4976X n 56

36. NAV.DO.TGT.TO.ORB vgox4259X n 57

37. NAV.DO.TV.UPLINK vgox426AX n 58

38. NAV.MEAS.ENABLE vgox4262X n 59

39. NAV.MM.CODE vgoJ4263C n 60

40. NAV.PWRD.FLT.NAV vgox4264X n 61

41. NAV.RR.ANGLES.ENABLE vgox4273X n 62

42. NAV.ST.ENABLE vgox4274X n 63

43. REND.NAV.FLAG vg3x6220X n 64

44. T.CURRENT.FILT vgow4749C s 65

45. TFOFF V90W4960C s 67

46. TFON vgow4959C s 69

47. T.ORB.STATE.UPDATE V94W3727C s 71

48. T.TV.STATE.UPDATE VgOW4939C s 73

49. V.FORCE(1) VgOU4956C LBF 75

50. V.FORCE(2) VgOU4957C LBF 76

51. V.FORCE(3) vgou4958C LBF 77

52. UNUSED 78

53. T.LAST.FILT.TLM vgow4285C s 79

54. R.FILT.TLM(1) VgOH4277C f 81

55. R.FILT.TLM(2) VgOH4278C f 83

56. R.FILT.TLM(3) VgOH4279C f 85

57. V.FILT.TLM(1) VgOL4281C f/s 87

58. V.FILT.TLM(2) VgOL4282C f/s 89

59. V.FILT.TLM(3) VgOL4283C f/s 91

60. R.TV.TLM(1) V90H4287C f 93

61. R.TV.TLM(2) VgOH4289C f 95

62. R.TV.TLM(3) VgOH4289C f 97

63. V.TV.TLM(1) V9OL4291C f/s 99

64. V.TV.TLM(2) VgOL4292C f/s 101

65. V.TV.TLM(3) VgOL4293C f/s 103

TYPE

I

I

I

I

I

I

I

I

I

I

I

D

D

D

D

D

S

S

S

I

D

D

D

D

D

D

D

D

D

D

D

D

D

1-16

3.0 INTERNAL FILES

The Internal Files provide the communication between programs in RELBET.

RELBET creates these files as outputs from various programs. User editing is

possible through the editing processors. All internal files are in internal

units (meter, kilogram, second, radian). Internal inertial coordinates are

Aries mean of 1950 Cartesian, although other systems may be used for file

storage or display.

3.1 GENERAL FORMAT

Internal RELBET files share a common overall

followed by data records that are called frames.

format consisting of headers

3.1.1 Format Compatlblllt_

The RELBET internal files are generally compatible with the gff format

described below and in reference 2. However some differences do occur.

Two sets of file routines exist in RELBET called the gff and gbfile

routines. The gff routines manipulate files as specified in reference 4. The

gbfile routine support the basic design of the so called gff files, however,

they do not utilize the dictionary records though space is allowed for

compatibility, and they do not set the program name/version number parameter

hcver on the header record. In fact the gbfile routines being written in C do

not use the IOP (I/O packet at all). Thus non-RELBET processors which read

gff files may not be able to read files created by the gbfile routines.

3.1.2 Overall File Format

A gff file is defined by its format. There are two definition tables in the

file, the header and the dictionary. The header provides file information and

the dictionary provides data information. Following the header and dictionary

is the data itself. Below is a diagram of a gff file.

1-17

Record

1,n

n+l, n+5

n+6

n+7, n+7+m

n+7+m+l

Description

Header (n = number of header records)

Dictionary

*beg

data frames (m = number of data records

*end

All records have the same record length. The user selects the record length

by determining the required (or useful) length of a data frame. The Header

must contain a fixed number of information words; therefore, the number of

records needed for the Header is a variable.

By the nature of its structure, the Dictionary consists of 5 records. The

record immediately preceeding the string of data records is filled with the

work "*beg", and the last record is filled with the work "*end".

3.1.3 RELBET Data Frame Formats

Frames are of a fixed length for a given file, but the length may vary between

file types. Although frame formats vary from file type to file type, they are

composed of a fixed format header portion and a data portion. The standard

frame header format is as follows:

IntegerWord

1-2

3

4

Type Contents

DP Time-tag

CHAR*4 Frame ID

I Edit status

The formats of the data portions are discussed under the individual files.

noted above the Begin and End Frames contain fill data:

As

"*beg" and "*end" respectively.

1-18

3.1,4 File ]/0 Packet

The file I/O packet, iop, is a gff communication table used by both input and

output routines. This table carries pertinent file data across read/write

interfaces. Table 3.1.4.1 defines the 41 integer words in lop.

Table 3.1.4.1. I/O Packet Contents

Word Label _ Description

1 pname c72

19 punit i

20 pfrmsz i

21 phdrsz i

22 pcrec i

Name of gff file to create or open.

Pname is a user-defined input to the open routines,gfnew and gfopen.

Unit number on which to open the gff file.

Punit is a user-defined input to the open routines,gfnew and gfopen.

Record length.

This will be the record length in integer words of the

gff file records. The record length will also be storedin the file header. The header will be broken into

records of this length and written to the gff file. The

record length is a user-defined input to the create

routine, gfnew. When the file is reopened, the openroutine, gfopen, will check the header for the record

length and then open the file with the proper recordlength.

Number of header words.

The number of header records is a constant and is, at

this time, 90 words. This parameter is here to prevent

hard coding of the header size in the various gffroutines. The number of header records is also stored

in the file header. Phdrsz is set in the open routines,

gfnew and gfopen.

Current record number.

Pcrec points to the current record in the gff file.

When writing to the file, pcrec points to the last

record written. When reading from the file, pcrecpoints to the last record read. Pcrec is always

current, regardless of which gff routine was last

used. The record number is not affected by the displayroutines.

1-19

Word

23

24

25

26-27

28

29-33

Label

prwfl g

pnrec

pstat

ptoff

ptype

pbdate

Table 3.1.4.1. I/O Packet Contents (Continued)

Type

i

Description

Read/write status.

Prwflg defines the r/w ability of the file where a value

of one is read only, and a value of two is read/write.

When the file is being created by gfnew, the rwflg isset by the routine to a value of two. When the file is

reopened with gfopen, the rwflg is a user-defined

input. Any dependent on the value of the r/w flag.

Number of records in the gff file.

Pnrec is always current.

Error code returned from the gff routines.

Pstat can contain two types of error codes - system i/o

errors and gff errors. If the error is a system error,the error code will be a 900 number. If the error is a

gff error, the error code will be negative.

The possible gff errors are:

1. trying to access within the dictionary or the header2. trying to access past the end of file

3. file does not have write permission4. invalid time requested

dp Time offset.

All timetags (timetags are assumed to be the first

parameter in the data frame) stored in the gff file arestored in seconds since base time. The base time of the

file is stored in the header. The base time of one gff

file does not have to be the same base time of any othergff files used in a program, and it does not have to be

the same as the program base time. The time offset is

the difference between the program base time and file

base time (tbase (prog) - tbase (file)). Upon writing a

record, the timetag will be converted from seconds since

program base time. The time offset is computed in theopen routines, gfew and gfopen.

c4 File type.

The file type is a user-defined, four characteridentifier used to identify the type of data in thefile. It is an input to the create routine, gfnew, andis also stored in the header.

i(5)

1-20

Table 3.1.4.1. I/O Packet Contents (Continued)

Word

34-35

36-37

38-39

40

41

Label

pbsec

pstrt

pstop

pnhrec

pndict

Type Description

dp Base date.

dp

dp

The base time is stored in 5 integer words and one dpword. The integer words are the year, month, day, hour,

and minute; the dp word is the seconds. All timetagsstored in the file are stored as seconds since the base

date. See the entry for ptoff for further

information. The base date is a user-defined input to

the open routine, gfnew.

Start time.

This is the time of the first data record. The start

time is defined when the *end frame is written to the

file (gff routine gfend) and when an existing gff fileis opened. If a gff file is changed, the start time is

not guaranteed to be correct until the *end frame iswritten. The start time is stored as seconds since file

base time and is also stored in the file header.

Stop time.

This is the time of the last data record. The stop timeis defined when the *end frame is written to the file

(gff routine gfend) and when an existing gff file is

opened. If a gff file is changed, the stop time is notguaranteed to be correct until the *end frame is

written. The stop time is stored as seconds since file

base time and is also stored in the file header.

Number of header records.

The header is 90 words of data and is written to the

file "pfrmsz" words at a time. If the last record is

not full, it will be garbage filled. There are routineswhich read and write the header. The number of header

records is computed from phdrsz and pfrmsz (nhrec =

int(hdrsz/frmsz + .5)) in the create routine, gfnew.

This is stored in the header. See phdrsz for moredetails.

Number of dictionary records.

The number of dictionary records is a constant 5

words. This parameter is here to prevent hard coding inthe various gff routines. The number of dictionaryrecords is also stored in the file header. Pndict is

set in the open routines, gfnew and gfopen.

1-21

3.1.5 Ftle Header Format

The file header consists of a set of records, each of which has the same word

length as the data records. The header contains 90 (integer size) words plusas many fill words as are needed to complete the last header record. Table

3.1.5.1 summarizes the 90 integer words in the header.

Table 3.1.5.1. Header Contents

Word Labe_____lType

1 hnhrec i

2 htype c4

Description

Number of header records.

See iop - pnhrec for a description.

File type.

See iop - ptype for a description.

3-4 hcdate c8

5-8 hcver c16

9-34 hcdes c104

35-36 hudate c8

37-40 huver c16

Creation data.

When a gff file is created, the currect data is stored

as the creation date in the form yy/mm/dd.

Program used for creation.

The program name and version number which created the

gff file, along with the version of the gff library is

stored. The suggested form is "name-ver/gff-ver", where

name is the name of the program (6 characters max) and

ver is the version in the form Vn.m (Ex: trjpro-v2.2/gffl.0). The program name and version are user

inputs to the create routine, gfnew, and the gff library

verion is defined by the gff library in gfnew.

Creation description.

The creation description is a user-defined input to thecreate routine, gfnew.

Update date.

Each time a gff file is reopened with a r/w status, the

current date is stored as the update date. When thefile is created, the update date is the same as the

creation date. The update date is established in the

close routine, gfcls.

Update program name and version.

See HEADER - hcver for a description.

1-22

Word Label Type

41-66 hudes c104

67-71

72-73 hbdate

74-75 hstrt

76-77 hstop

78 hnrec i

79 hfrmsz i

80-90 hspec i

i(5)

dp

dp

Table 3.1.5.1. Header Contents

Description

Update description.

Each time a gff file is reopened with a r/w status, theupdate description is stored. When the file is created

the update description is set to the creation

description. The update description is established inthe close routine, gfcls.

File base date.

See iop - pbdate, pbsec for a description.

S_ar_ time.

See iop - pstrt for a description.

Stop time.

See iop - pstop for a description.

Number of data records in the file.

When the *end frame is written to the file, the number

of data frames is computed and stored. This value will

be correct as long as no new data records are written

after the *end frame. New data frames appended to the

file will automatically overwrite the *end frame, if one

exists. Note that this is not exactly the same

parameter as the lop parameter pnrec. In the iop, thisparameter is the total number of records, whereas, inthe header, it is the number of data frames. Hnrec isset when the *end frame is written.

Record length.

See iop - pfrmsz for a description.

File specific block.

These 11 words are extra header space in case the user

feels the need to put more in the header. The gff

library only recognizes its existence; it does nothing

with the information. The block is a user-defined inputto the create routine, gfnew. It can have variables of

any type stored within.

3.1.6 Oicttonar_ Format

The dictionary contains the definition of each parameter in the

records. The definition is defined as the name of the parameter, its

data

1-23

dimension and type, and its length if the variable is character.

there records are not set with the gbfile routines, however,allocated for them.

Note that

space is

The dictionary is written to the gff file when the file is created by theroutine gfnew. The dictionary is input into gfnew in the following format:

character*20 dict(frmsz)

where frmsz is the number of words in a record. Each dict(n) is the entry for

a single parameter, and each entry is in the form "ndtl", where

n is the parameter name (8 characters),

d is the dimension of the variable (Ex: 3 or 3,3) (8 characters),

t is the variable type (i,l,r,c) (I character), and

l is the length of the variable if t=c (3 characters).

The dictionary is stored in the gff file transposed. The routine gfdict

returns the dictionary in the c*20form. The dictionary is contained in

exactly five records in the gff file. Each dictionary entry (dict(n)) uses

one word from each of the five records, such that

rec 1-2 contain the name from each entry,

rec 3-4 contain the dimension of the variable,

rec 5 contains the type and length of the variable.

Figure 3.1.6 shows the relationship between the user-defined dictionary and

the file dictionary.

rec#

diet(1)

diet(2)

dici(,)

! Z

n ...... ÷

file

3 t 4 I 5 IId ...... + 1;1-+

II

II

II

I I I

Figure 3.1.6. User/File Dictionary Relationship

1-24

3,2. SENSED VELOCITY FILE

The Sensed Velocity File contains time tables of IMU sensed velocities

experienced by a vehicle. The file may be created from real time data or

simulated. The sensed velocities are used for state propagation. Its frame

format is as follows:

IntegerWord

1-4

5-10

Type Contents

MIX Header

DP(3) Vector for Sensed Velocity

3.3 ATTITUDE FILE

The Attitude File contains time tables of attitudes experienced by a

vehicle. The file may be created from real time data or simulated. The

trajectory processing routines use the attitudes for computing relative

trajectories and residuals. Its frame format is as follows:

IntegerWord

1-4

5-12

Type Contents

MIX Header

DP(4) Quaternion for Attitude

3.4 OBSERVATION FILE

The Observation file contains time tables of observations associated with

various on-board navigation sensors. The additional data slot is used by

various applications. When the downlist formatter outputs an observation

file, it places the onboard data good flag here. The Kalman Filter process

expects the observation noise in this slot. This file may also contain

residuals for editing or display purposes. The Observation file is used for

relative trajectory estimation and residual computations. Its frame format is

as follows:

1-25

IntegerWord Type Contents

I-4 MIX Header

5-6 DP Additional Data

7-8 DP Measurement

9-10 DP Residual

3.5 EPHEMERIS FILE

An Ephemeris File contains the inertial trajectory for a vehicle. This file

may be created from real time data or generated by simulation. Vehicle states

are interpolated from this file. Its frames have the following format:

IntegerWord

1-4

5-10

11-16

Type Contents

MIX Header

DP(3) Position Vector

DP(3) Velocity Vector

3.6 IMU AI'rITUDE FILE

The IMU Attitude File is used by the IMU processor to generate a selected or

average attitude file. It has the following format:

Integer

Word Type

1-4 MIX

5-12 DP(4)

13-20 DP(4)

21-28 DP( }

29-36 DP(4)

37-38 I(2)

Contents

Header

Quaternion IMU-I

Quaternion IMU-2

Quaternion IMU-3

Quaternion Selected

Source of Selection (spare)

1-26

3.7 IMU SENSED VELOCITY FILE

The IMU Sensed Velocity File

selected or average sensed velocity file.

is used by the IMU Processor to generate a

It has the following frame format:

Integer

Word Type Contents

I-4 MIX Header

5-10 DP(3) Vector IMU-I

11-16 DP(3) Vector IMU-2

17-22 DP(3) Vector IMU-3

23-28 DP(3) Vector Selected

29-30 I(2) Source of Selection (spare)

3.8 SOLUTION FILE

The Solution File contains such information as current solution state

estimates and statistics. This file is an optional product of the Trajectory

Processing processors. Frame lengths may vary from file to file depending on

the options exercised by the processor, however, frame length is fixed in a

given file. The solution has the following format:

IntegerWord

1-4

5-4+2S

5+2S-4+2S+D

Type

MIX

D

DP(C)

Contents

Header

Solution Vector

Lower Triangular Covariance by Rows

Where

S = Solution size

D = S(S+1)/2.

1-27

3.9 RELMIVE TRAJECTORY FILE

The Relative Trajectory File contains relative trajectory information.

the following frame format:

IntegerWord

I-4

5-16

17-28

Type Contents

MIX Header

DP(6) Fiducial State

DP(6) Relative State

It has

3.10 PLOT DISPLAY FILES

Table 3.10.1 summarizes the various options for output parameters from the

program xqdisp. Here 0 designates the first vehicle or orbiter state vector,

T the second vehicle or target state vector, and A the attitude of the first

vehicle. All groups consist of six parameters. The coordinate systems are

defined in the Engineering Manual (Reference 9, Section 2.0).

Plot file parameters are in internal units. For printed displays, the user

may specify up to three systems of units for length, velocity, angle, time,

mass, force, and acceleration. Parameter groups will be displayed in each of

the specified systems of units. The record format for these files is as

follows:

IntegerWord

1-4

5-16

Type Contents

MIX Header

DP(6) Coordinates

1-28

Table 3.10. I. Parameter Groups

NUMBER ID OBJECT COORDINATES

1 SXYZ 0 M50 Cartesian

2 SELT 0 M50 Elements

3 SUVW 0 Target UVW

4 SLVH 0 Target LVLH

5 SSHL 0 Target Shell

6 TXYZ T MSO Cartesian

7 TELT T M50 Elements

8 TUVW T Orbiter UVW

g TLVH T Orbiter LVLH

10 TSHL T Orbiter Shell

11 TBOD T Orbiter Spherical

12 IREL T-O M50 Cartesian

13 EREL T-O M50 Elements

14 APYR A MSO Euler Angles

15 AUVW A Orbiter UVW Euler Angles

16 RPRM T-O Range and Rate Magnitudes

REQUIREDINPUTS

0

0

O,T

O,T

O, T

T

T

O,T

O,T

O, T

O, T, A

O,T

O,T

A

O, A

O, T

In column 5,

A indicates orbiter attitude needed

0 indicates orbiter trajectory needed

T indicates target trajectory needed

1-29

3.11 COAS NATRIX FILE

This file contains frames of body to MSO rotation matrices time-tagged by the

time of each COAS observation. Its frame format is as follows:

IntegerWord

1-4

5-22

Type Contents

MIX Header

DP(9) Components of Matrix by rows

3.12 COVARIANCE FILE

This file contains th UVW referenced sigmas associated with some filter

estimate of some relative trajectory.

Integer

Word Type

1-4 MIX

5-16 DP(6)

17-28 DP(6)

Contents

Header

Sigmas for Base State

Sigmas for Relative State

3.13 BIAS FILE

This file contains the bias solutions and associated sigmas computed by one of

the filters.

IntegerWord

1-4

5-A

A+I-B

Type Contents

MIX Header

DP(S-12) Bias Solutions

DP(S-12) Bias Solution Sigmas

where s is the solution size

A = 4 + (S-12) *2

B = A + (-12) *2

1-30

3.14 RESIDUAL FILE

This file contains information from the Kalman filter as shown below:

Integer

Word _ Contents

I-4 MIX Header

5-6 DP Edit Status (-1 or 1)

7-8 DP Observation Value

9-10 DP Residual Value

11-12 DP Residual Sigma

13-14 DP Bias Value

15-16 DP Bias Sigma

3.15 QA FILES

The following files are created by the various QA processors:

The Attitude Angular Acceleration File

Integer

Word Type Content

I-4 MIX

5-10 DP(3)

11-12 DP

Header

Angular Accel erati on

Magnitude

The Sensed Acceleration File

IntegerWord

i-4

5-10

11-12

Type

MXI

DP(3)

DP

Content

Header

Sensed Acceleration

Magnitude

1-31

The Master Noise File

IntegerWord Type

I-4 MIX

5-6 DP

7-8 DP

9-28 DP(IO)

Content

Header

End time of interval (Begin time is timetag)

Average value of observation

Value of moise associated with various order of

divided difference

The Selected Noise File

Integer

Word

1-4 MIX

5-6 DP

7-8 DP

9-10 DP

Content

Header

End time of intervals (Begin time is timetag)

Average value of observation

Selected value of noise for time interval

The Star File

Integer

Word Type

1-4 MIX

5-6 DP

7-8 DP

9-10 DP

Content

Header

Inertial Azimuth Angle

Inertial Elevation Angle

Angle between the previous pointing vector and

current pointing vector

3.16 SENSOR FILE

This file contains downlist information needed to create the SENSOR tapes.

1-32

IntegerWord Type Content

1-4 MIX Header

5-6 DP gmt

7-8 DP COAS Data Good

9-12 DP(2) COAS Angles

13-14 DP Radar Angle Data Good

15-18 DP(2) COAS Angle

19-20 DP Radar Range Data Good

21-22 DP Radar Angles

23-24 DP Radar Range Rate Data Good

25-26 DP Radar Range Rate

27-28 DP Star Tracker Data Good

29-32 DP(2) Star Tracker Angle

33-34 DP NAV Power Flight Flag

35-40 DP(3) Sensed Velocity

41-42 DP Mass

43-50 DP(4) Attitude

51-52 DP Sensed Acceleration Threshold

53-54 DP NAV DAP Jet Flag

55-72 DP(9) Star Tracker Matrix

73-74 DP Star Tracker Timetag

75-92 DP(9) COAS Matrix

93-94 DP COAS Timetag

95-102 DP(4) Radar Quaternion

103-104 DP Radr Timetag

105-110 DP(3) DVDISP

111-152 DP(21) Meters of Covariance

153-188 DP(18) NAV Flags

189-192 DP(2) TOFF/TON Flags

193-196 DP(2) Update Flags

197-202 DP(3) V force

Note for more details on contents see section 2.4.

1-33

4.0 TEXT FILES

Various units are used for display. Depending on the processor, the user may

select up to four different units for short (TERM) display, nominal (OUT)

display, detailed debug (BUGS), and graphic (PLOT) display. Details as to

format and access of these displays depends upon the processor.

1-35

5.0 DATA BASE FILES

The text files described here are generally output by the qa processors. They

share a common format which allows them to be merged, sorted, and searched by

various UNIX and RELBET processors. Each line of text contains at least four

fields separated by white space.

Field 1

Field 2

Field 3

Field 4

- Timetag (begin time of some event in GMT seconds)

- Primary key word (alpha) usually denoting data type

- Secondary key word (alpha) usually denoting type of event

- Duration of event in GMT seconds

The remaining fields are defined per processor output (see program manual

entries).

1-36

REFERENCES

1. "Interface Control Document for ODRC Computer Compatible Tapes," CSC-

1921, G. E. Hubacek/CSC, February 1984.

2. "RELBET Product Description (Update/May 1985)," TRW Report No.

85:W482.1-57, B. P. Huysman, L. A. Pieniazek, 15 May 1985.

3. "Sensor Tape Production Manual," TRW Report No. 86:W482.1-60, J. K.

Knoedler, 3 June 1986.

4. "HP General File Format (GFF) User's Guide," TRW Report 39107-H-21-

UX-OO, D. Campbell, 14 December 1984.

1-37

APPENDIX II

CONTEXT FILES

II-i

0

£

J _

)

O.

E

i

L

:E

rY

L

{n

LOeO

O_

0

(_

(J

n

¢-(- E" -- c-

.C (- • . .E {3. -- .E.E. ,.E._.E._- • >, .E.E.E

O_ .E -- .E. X , L} ° {_ .IJ f- _ (- , • • _ _)E • mr • ,(n]l)'om • • ,.Em_+' n C

._ _.E _ ,.E 0 _ 0_ _- 0 (0"_-_-_ _ • _ {0 c" _.E._

r-.E r- .E

.E .E • ..E £L .E

0_ .E .E .E-_ .E _- • :_ .E (- .C:E _;_. _'>_ .u .c_- _- ....• • • _ _ U'_ In • . .£::: G)_._ 0 E

_._-_ (" L _ J_.O.O.O.O _" _ _-_._ G) Q)'_ _ _0_

'_" "_ '_" 0 0 _n _ "_ _r '_ "_" _" 0 _ '_- _ _ 0 0 0 0 0 ,_- 0

0

00000000000000_000000000

UUUUUUUUUUUUUUUUUUUUUUUU

IIIlllllllllllllllllllll

Illlllllllllllllllllllll

OLLLLLLLLLLL_LLLLLLLLL_LL_lllllllllllll|llllllllll

IIIII1111111111111111111

_LLLLLLLLLLLLL_LLLLLLLLLL_tlllllllllllllllllllllll

IIIIIIIIIIIIIIiiit111111

___0___0__

O_(0

O.

r

r-

O)

nn

LO

oO

0

U0

Q

I---_ E .... E ....7- _1---_ 0 Q)._ 0 Q) 7-

I (_ e_- E E_-- E E I

0 Q) _ -_ F- _- ._ I-- I-- (:3

.__ O0 r'7 O0 w r7 rn w 0 LU

I-- (_ • Q) • (_ _ 0 l--

n.,i ._ o o o o o o o m

E C E E E E E E E u,-

"(3 L L L L L L L L "P "_C a) G) • Q) • O} (_ _) _,-'0

-_ x X x X X x X X _ O)

O)O..C

ira-.(2COoOO_I.D°.

0

0

II)Q

nn llO C) •

.... Ob .- _- _ • '" 0

oc'r 0 _- _- _- _ _- ,-_ _ _ _- m _- _- u.m

C C C _- C C C C _- C C C C C C C C _- C_-_. L (- L L L L L L L L L I. L L L L ._ -_ ._

x x X x x x X X X X X X X x x x x Qb _ _

I

E)

LU

=E

4-

(-4-

=m

E

"0C

0 "-_0

m E

4,J

_ c I"

L * r"

"0 '_ I_C

E

o_

. I:_ * G) ....

+' _- I-- I-- _1 -_

: (OUJ O. _ Z I--E (/_1-- t.U LU (:D L.

OE_ _ M U. U

II _ _ E-- _ I._

O •-_ _w Z L .- m . Z - I _EL _P' "-._-- L :3 E ILl LUJ WLU UJ

L _ C >,0,,_ "_ O-- 0 _E ,i-_l,- =E:E =E l--

'+- .w .w , _ -w O • C E 0 _" O_ 3E,_ q-

• E C E Z "0 .- -- "0 T "007-O e C_" ...... @ • "0 L

6-;

E 0 k- _-_E -- =E _ ,'-,,-_ ......

•-_,. o= .... _;®-.. _-zo .... "6_C - ""

£).. L. uJ :E I-- w >_>, "0 -I-' w i,u LU .,H ._ .t.._ 0.. £),. L U.. I:L L

-_ -_ -J E _ :3 V_ -w -i_ :3 _ D _ -_ _ .J _ .J _ _ _ .- -. -_ -_ -_ -.

O 0'_ 0 E O=E E E O O 00 EE _=£_[ E C C 000 O 00> > U_'_ "O'r _--'0"0"0"0-... O "r O .... > > > > > >

L £. L L L L

XXXXX XXXXXXXXXX XXX XXX XXX XXX

(N

O.

(1.

E

t--

o3O_

..

0

0r_

L _ L L_ 0

_ _ I

>>> >>>

CCC CCC C _

LLL LLL "_ "_'_

XXX XXX _ _

_0___

0 "_ "_ -J 0

I ZZ'_ I(./3 _ _ .l.J (/3

(,,3 -0 L n 0"3

J I_ ._IZ -I_ -I_ -_ Z

O) c- C C C_-

._ X X X _ Q)

03(:L

C

Lf-

£0O0

0

('9

0

000

_*_* ** U.O U

* * _ UO._. U.OU O*UU ''_ 'X.

O'U' '. __ X'_X.X.XOXX _LLL "_L'_

X'_X'_,'_'_ _LL_ L_

"_'_LX_L *LL_ _

L_ U_L&_ ELE_EQE_EE ,LL_ _ UL L

I* EE >X_X E *_O_L_ * XX X

O EEEEEEE E>_L L_

I

ooooooo __ 000

CCCC_C CC_C _C_LLLLLL LLLLL L_L

XXXXXXX XXXXX XXX

__0___0_

*O_ U* OOO_O .OO. O.,

,O.OL_,LO.LL_ ,OOLO ,_00

000_0_0__O_OO>_O0_OO

* • • O > * • > O • > >>* > @ _> _>

O _ >* * > * *

g -2 "" .._ ...._0 _ _ _>___0_

__ _ _---_

_'_O__N_>>_>>>>L>>LO** >>** ** >** >_

I

000000000000<

C_CC_CCC_CCC_LLL_LLLLLLLL-_'_

XXXXXXXXXXXX_

_@_0__

L_I

t-O(2

UI

C0

C

fl-

(JI

.0E

I/]

(JI

_30"0

U

C

n>,

4..,

0 W0

En

e" >,W

tJ U

"_ 22_- U U

_" .._" _

n _ L _3

+, ,_. 0 r.- .._, ._,

E C:3 E 0

.,,-, r" C C

c-O_j

ZD

_3Z

LLI

ILl _J_(D LU> I _3

_- I

',' _)

OF POOR QU_LIT'y

___0___

O-

c"

oO

O_

0

U

0

4-J

X

t- 0

0

.-U I._ _- .,W

0 _ L "_- JO "_ l_..LI- (" _i- _, D] J,_

0 CJIL _.- f- f-

•--I r" -C -C .C C._-' .-

IJ-

.p,

U

L4_(B

OF POOR QUaLiTY

r-_ o cEl o_ J3 .Q o)

.... 0) .- L _-. (0 _) .-

-O _ .Q G) _ El I-- I r_

• • u_ .-- L ..J -J ,-J 0 O; r_ G)

O.C _" 0 L L L 3 _ L _ _ L _ .E L

.Q .Q .Q .Q r _ .C .Q r_.E _ e8 .Q .Q L .Q .C

C C C C E E E C E C E E E C E C CL L L L L L L L L L L L L L L L L

X X X X X X X X X X X X X X X X X

___0___0___0

_J 0(- U

0 _

• _ f _'_0 i C

_. f.- L_.. _ _-. 0

r" 0 r) . 3

_ 4.. rj [_(n O O03 (" _..wE

(.,) c c t-- ._

> __rv Oh- 0

07 "on, Ow E IECrY* O* O*

LO _w_Z_Z_O0

O_c- c- C

-. * _ _ "{3

0

0(D

OR_Ci;_Z_L i_C_. i ¸

OF.. POOR QUALITY

L

0u,_

eE •

U_-O.

•_ eE(- no ¢o_: X

ee A

m cel.- L u_

_ ,LL

L . _,N-"0:3-'(

C _- Ln L,4-0 "_e_e; """_ (" (- CO _-

0 JO_- E

0 0_, 13",,e -_ = t--_--E "0_-- +X 0

-_ • 6) I--

L _ .E U) "0 _ •• e+,._ D >,E

; _)u)+_ -- 4,-, E

.1_ L L e • e _

-_ "r _- D .

"_ "m O O D _ E _

"0"0= • _._ .E E

_ C q- 0 e)_- OJ _ •u_ _- _ o) E.E JOE "0._ q--

• 0 u) _ • o_ e ..-_ L

-_. .C.l_ "0 _ q..l-_ W_-- _) :_'_ C • C=E

"O.C.Q Lt.n _) 0"0 e,,_• E-_ L ®rn (n*_ Z

-O +_ (0 q- ¢[ 0 C O= OI--O1L .E "_ O.'_ _: _ t-- +_

0 oe _- 0 _:

L c" u) e.Q _ e _ +,1-- L (])

,.i- "_ _'0 _:_ 0 • _ {:)..eL _-_ q-_ O1C E

u} u).F, e 3 C-- _e D C._ 0_- "0 e'_ 0 X

E • .E .O _ (/) L O.O)_ 0 _ul Ol I_D_

E I-- _ (/) 0 I/} _, L

_._._ E _''_ _ I-- _ I-- _-

O0 O0_0_°_0_

4-

D

.0

.pX

e

_W_E_

e_eeeeeeEEEEEEEE C

• p-pip.p.p.p.plp ip

I1)0"1

o.

c"

G0l-"O.cn0/

I,oc0O_

ol

0

000

0__0__0_0_____00_

0 _ _ W NW

_IIII_I_II_I__I_

.le

g-

O_0

t-

O v,_0

m 0r" N

gc

.E %33__ 000_

mooooooooo

*NNNNNNNNN

_O _O

0 w w w

IIiIIIIIIIIIIIIIIZ\ JJJJJJJJJJJJJJJJJJ

OO00000000000OO000CCC_CCC_C_C_CC_

c" c" c-•_ °_

000

N N N

_, _ T,

_ w

5" LL_ >-e¢" i:1. rn

"r "r "r

,..1 .._1 ,._1

_r- t-

g"l _ 11"1

"TO0

E.D

1.0oo

o,I

0

011)

_0

0

0__w

om

v

0 oo

w

E m_

L _

_ mv

0 D O0

_ w_

00_

AAA

NN

mm

w

N

_0___0 _

OF POOR QUALITY

E

r"

"0 •O_ InE v)

Lm'O

_0

3• C

• C4_E _ E

C * m

_-I11 E r-0_'- _¢_

_r_ E

u) q-- O. ql.O"r _ 0 I 0

I L _" "0I- "0 G) w ._ a_

I.- _ ..J E

H "_ _ (.9 0 _--J 0 (_ "'_ q-'P

E 0} (- (" Z __- iZU U(_ {/1

4_

* 00,)

,.0 N

x0 &"

r" .... _l'-* ..E r" .= ,...- (./1

,, E:-_ .-_ OZ

.J _._Z0 _" ,-

I e_

I _ _ (_ " II- ,_ IZ m _-0 "_ • 4" "_ 0E3 _ __ _) J (:3

l C{_Z I

u') _*Z I

.j u,.. i.... "0 .j

Z -_ -J (_ +_ ZL_ OZr E

>(_ O-_

E r C E q-Eq-1_ L C L L _'P

xxxx 6) 0 O)

___0___0___0

O.

.C

0

CO

0

0

0

O_03_OELE

I I__E

_LLL_LL_

__1

EEEEEECCE

XXXXXXXXX

ORIGINAL PA_3_ t3

OF POOR QUALITY

>.

0._ (24w .P _.

.x In _E (,.) (_ 0,.OO.Q O

-w r_ {nO "_JD+ _ •

X+' _EOE O"0 E 0L L L

_0_0,_ %,_

"0 0e L -¢,-' (DL _ C(D 4.., L---

30 C,-C Q..- O

•- O- {D Q_-w

LU NI-- e) O

L.U _ • I"- q,-:D 0OXD 'eI(M {- G) (-

w- E £Lu)

I.U ---..__ U;D 3 O t'rJ._0 (0 (_ 73

v U (_',30>,>'0<[ _ 4w iI_C_- .D D. m

_,9,- G) X CON _- Io= c

OC_ t U -w._ 0u',O X -_: 0 - (n 3 +' {J

r_ _- c O X..D _ u) 03tri-

O .0 E El,- 0-_ C O._ L [,. [.. u') _J ,_,-' -_ (D

+_.E.E.C E E C .X (_ EZO_0 U (2 O "-- '_ "-,-',,. O -w D

_nx o

"0 0 -I-.'

O.

-..

0

m • z

o

U

a

U

I{nE

OU

0

UED

O

IC

0

4-,

U q_E In

(_ OO

5 _

I _- U U e) ]

Q) * ..n C

O '-_ 3_ L L Z'O

Z L i_ .-

O n _ L :_ :D 0 u-.O .... E

_--"-- 0--_:G) L "_ -J _0 C

• {J E E _l_J --I .... (_> -'O -e --I

O --; O-J.J > _) * _) _-J _).J E

_0 J _JJ'P_ Z"-J EJ L

E d) UJ • "' "' n LD "' uJ ®D n U I:).U_-_ :D ¢lu--_U +_ U 4-'

C _ >, I IC 0 .E IC IC I X"_ ,-_ -I_ O. _.._ _ U O. -_ _. "_ n •

___0___0___0_

b_tO

O.

c

tm

In

In

E

00

0

(o

0

0

00

__0___0_

.b

_J3

QJ

IJ

LUU

I

n

.E

(/)

£.

(DoOO_

r_

0

l'o

0

L)0

rn

0___0___

J

Z

r,, .-J'O t'_

n C Et- 0 n.... n >

; E E C E q- _-

{_ _. £. L. _, -_-_u

-_ X X X X • "0 _)

0___0__

___0

Q)OI

_0o..

,.,C

0;5

4_

L

£00O

D'-

0°,

0

0

___0__

fD

(q .-.... O0 _ 4_

Q}_ ,-In "- • • L.

"_ c_ _ E_ D 0 E_

_ _ _ .1_ _ I'_ _ 211--_- 0 0 D +_ D _ D 0 _ D w+_ _-- 0 C 0 0 O-- C 0 _n

q.0

>,

0,.

r-

e

SE

o0

0..

0

0

D0

U

___0___0_

qt• 4t

.It 4t

t

e .It

4t(.

4_m

-E

4Jr"

_- "_ o09 • .I-,

4:; _ • O

ffi4)

LLOO_4aUU

_-q- O-- x _-

e-

@r"

U

EffiL

E

(.(013.

(9

O)ffi

E

(.ffi

E_ _ O. (9 II) _0 O. _O t- O r'.. U U r-- _ r.- O) t-- _- r- _- r- q- .Q

_ X • Z _ Z _ Z ",- Z Z _. Z',--- Z • Z • Z > Z • Z > ZXe O q- O _- O _- O >_ O 1;)12. O. O -- O q- O L (:3 L O L O

E _._ u_ Q) ul _ In _) In -_ v) Q) u_ _) Q) in In In _.. In U In U In U In

_- ._.O_ n, U ,..v U rv U ,,v 13 rv 0 "vo0 rv 0 rv 0 rv 0 rv 0 _ 0 r,,

E • C _ E U _" U • U C U E _ _ :3_ C_ _ _ _,

_ E ._ ..I L L -- _) L ..J (_ r.. ..J'O L, .J r,. _j --_- ..1"13 ,J (_ ..J (_ ...J _ ...I _

_. _ O._ ;:) 1:I..IC: "-_ _ r" --j .C ;:) q- JC _O.._ :3 ,,._ 4-, _ O -" :::) q- .I-, ::3 _ ::3 ._ ;3 _ "_

•" '_ "_- 0 0 0 0 _D _D _ (0 (D (D _O U

_ • _ (D _ (D 4J (D _ (D + • r-O_ 0_01 r-O) r-O) 1",-01 t,-01 _- 01 E

UUUUUUUUUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU U

¢0c;-

r- E

E-.D

_ L

.I2 EL ¢'_ -

_ E

_E

LU _LE

-U-03 E

m in m_

¢.- ® 4_

E O_ E C E _ E O. E IZ E U E U E U E U E L -_ U_1 _ _ £_ _ _ _ _ _ _ _ _ U_E

0 0 4-' _ _ _ _ _ _ _ ¢_ r-- _Z _ Z O. Z Z _ Z _ Z +-' Z _ Z ,'-' Z -_ Z ._ ¢)0 0 0 x 0 _ 0 0 0 @ 0 @ C) @ 0 • 0 @

(n rO _ _ ._ _ _ _ L L L L _ _. L L E_ U_ _ _ _ _ _ _ _ _ _ _ _ • _ E "EU UJ _ LU _ ,,, L LU U _U U LU O. LU _ UJ D. UJ Q. U_ O. _r_J_ E

n, n, n, rv I/) r., rv r., l_ rv n, X (_ ltl 4_

m-® = '; =,_= ==® =_o =co = ; = '; = '; m ; oL_ ,_E O ¢" E O-_ E O q- E O _ E O L E O1_ E O_ E O1) E O E E O _) E =EI_ O

_ O_ L.O _-J0 O._ O n On O_ O_ _-_ U _ _-

UU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUUUUUU

D.

ZXX

0

sO

0

a

E

m

UUUUUU

_0___0_

c0UE

d

if)

× g× "_

_ X _×

_ 0 _0 -o "g _2

C C

0 UO UOU O0

__0_

.G:* U ** X** X*

* _*

C0

L0

U UU

L

D. .w

_ "0 "0 c

r. u u,,w u

L L

> 0 • D.

"0 0 "0 "0

Q. U Q U

* U* _ C L tn m 0

UL0

m U@ @U L0L

0

C

>, LU ,-, _

L 0

D. _ Um U

E _

.Dr

0O C@ >,L O

L0_ C

_ L

U

_ dL LD. +' U

L "_ L "0 L0 _- 0 CO 0 O *O

I/_ L L -_ _ DO• L 4-' UOU _

_- • _ 0L I:L _ L O_) t'-" O) O -

c ,_ _ _ L L 8 O L I_ 4-' L>. _. D 0_ E _ E O C C O Eo E o O D _- :3 o _ L O f0 O D

f0 C U r- O _ @ 0 O I/_ O x C

UU

* E* _ _ _ _ 0 _ 0 _ _ 0 _ +_ _ 0 _ 0 _ _ 0 Z_-* E * _u 0 _ "' O_ '" 0 w 0 "' O_ '" 0 "' 0 "' 0 "' 0 "' O_ "' 0 0 3

* * _ U _ L _-_/_ _-_ _-_"_ 0 _.0 _- _-_/_ _-*"_ .0 _'_ _'_ O C

* • * U £" O U U C O r` U @ O c U _ O C U c- O _ U c*_* U_- O U O U O U O O U U

(/) * I/_*

O O O U U U O O O U O O O O O U O U t) O O O U O O O U t) U O U O O U O U U O O O U O O

UU xU xx Ex

0

O C C

_ UUUUUUU

U

a

0

EL14-

r"

aeat"

C0OxX

Z0

=E0(J

O

00 U

xX

E

U0

°_

UUUUUUU

O)

r,

XX

t,DOO

O_

0

U

Q

X_ X _

_0_

E _ C__ 0 _

_ 0

UUUUUUUUU

f-

O0L

_m

E0 InL C",I

d"0

"0 .0

Q) x _ "0

n• Z.O

X _ r

X X • _ _"0 _ _ _- uJ._ Q)

RI RI _.r,," 0 r,,.p, _ "0 tm

_ _ w t" 0

Z _" Z x4- O_ >

_ _0

U UUU UUU UU

r0

0 _ 4"._ ._ _ .,_

t- c" _ U-_ L (_ X

c- _•_ r ,_

_ X

0 0 ×X

II II

_ Z

.0

UUU U U

0___0_

m

m

x _-

O0

c g

UUUUUUU

__0_

* E*

* X

XE _

_ * O*

E *C

x _ * E*

X _ * E** 0 *

_ * U*

0 ._ *_*

UUUUUUOUU

O

@

U O U O U U O U O U ro U o o o O U rO U o U U U o U U o o

0___0___0_

EE L

(3.

X _-

× ;

1-" I'-

UUUUUUU

__0__

UUC

L

UUUUUU

,N-

•1_ -K-

•_ ,N-

-'x- U "_

•N- "_ *

•x- 0 '_

_ 0"_

UUU

"0

D.

CI.

W.Q

0

4,.,

UU

r-

e..4_

0

0U

&.

l-1

_e e"

U 0 0

4JU

ut

_= I U

3_

0 _ 4o

e-

t- C I-

UU UUUOUUU

___0___0--_

a.

r-3

xx

tpooo_

0

U

@

C

L

m

UUUUUU

•K- ._

.15

.N-

• I*

_ q- .x-

*3=*

4(-

-_" O_

* .O _

•_- E .N-• O*

4(- ._

UUU

L

4o

E 0_- E0 E

0O

e-_ LO •

_ m

O C_ q- I!1

EO_

e-4o

O U

tl- _ L

_- c"

"r._ U

4o

O 0

O_

C C

0 0L L

m

C C

q. q-X XX X

O -O0 _ 0

E 0L EOE_- 0

U

_ C

_ C

O W

L,'-OC

"_O._r'OU

T_U

C _ L

_ oo q-

UUU U UU

__O

4_

O.C

10

OOO O

E {" • 0

_) [1 0 c_ 0

>,_- 18

E O _3 _

0 0 ,,'-' I_ _)_ ._ 0 Er- E

0 0 ._ _-

UL _- E _ 0 L

_ _- I/) L _4 _

L L _ O.Cm_c 0_- O Um _F-_C _"

0 • O 11) _ ,-_ m_--_ n

0_4 a _ EL 0 _U_N ._ L _ E • 0 I/)O.C I_

0 _ m U_DD EL 3 L _ L c C "0 C'O/_ E

L nc E n • D_ 0-_ Cw Q) _) E E E _ n" U _D _ __u N O) D Q) _ D E LU C _).O C" 4-,

Z _ .C O. ¢" ¢" Z _ _ _ _-_ E _ a_ _ _ _ f. O

",.-" E "-" _-_O -_'EL

UUUUUUUUUUU UUUUUUUUUU

6ET =_ mO) U

O_ • _ O.D E r" _.

.c a) 0 13 f. _ _..Q _-

(U E U In

13 OC +,(0 q- _ -_LW 0 0 "0 O _

c'_ 0 C_ c" "0 4,J I,. L 0 N _-

I_ _.. .h' C C "l' D*' U_ "t3

.7:=;"; .- o®_ ®o.,- ,;o" =.- ®®'; =® ,L Q.O to _ _ .. ¢" ¢'-" _.EX ¢-

:3 q- l0 0 _'_- > _3 _ _ _-_(_ C _-_ I_ O_ +_-_ _'0

'_._' .w _ W O0 E L :_ C m _ C _ > _'0_ • W 0 _ W

®..w N 0 E L_'O O E ® w 0 _-- o.o .-_ w-_ m _ _ I'_-

•_ E _ D C: "_ Q) _ q- _ • O C _)_ _ "_ "0

t-q.. E C'_ E t'" "_ O f3 O II bd_- E LU.C D/_ E LU _ X O__ 0 0-_ _'_ I +" _ ¢- _ @ _ +-' 0 _*' 0 U (5 0)_ _ Z _

m*_W.cL m_. • , I1)(- "O _'_ U _'_ H _ ("]O,u ",," "O _ "_ (" 0"0

_ _ O.C _J c L C _- @ _ > L 0 r" C

UUUUUUUUUUUUUUUUUUU UUUU UUUUUU UUUU

C

E

U0

UUUUUUU

@

o.

mID

mi=c"

Xx

o_O_

O

UQ)th

__0_

U0

Z

Ii

ci

m 0

in >E C

0

• U

@1 0 '4-

•_.D 0

It)+-,

_ e- c

0 "_

I1 0

c m E

c U "0

L _ E I _U_ _ E m

D E I E

m x "0 4-'Q_ Z E

_- (D

C

c C c

UU OO UU O O UU O

C@

__0_ __0_

• P .

X •X _

_ UUUOUUU

U

D

4- *X*X *

v" .U*O*

C *

E*E*O*

U*

g_U U

Q-

.6/

O_

4-* L

_ DE _

_ _ _ 0

_CO _0 _3U_ Z _ Z

_C _ _

U UUU UUU UUU UUU

0___0 _

@

_ _ 0

* C C C N L

0 _ 0 _ 0U O

_EL _L _0

_0 _CO _U_c_ Z_ Z

OOO OO

__0_

O]

_ L

_- _- E

-- L L®

_ _ O_.1 L L 4-I-- -_ ry _ ,n,'

iJ _)4- uJ 4-, _- UJ 0.),,¢ #= ?..0_ (,.0 0)'00£_ L Q_C c cu_O

_ c" 0 _- _ 0 _- 3 UT _. Z _- Z

_'E r-.. r-e_O._ D- c ELm

U UU U O U OO

__0__

.p ..

E EE •

_ E C N0 _ 0

_C 0 _D 0 _ D_ Z _ Z

_E _'-

U UUU UUU O

_0__

L

_0___0___0_ _

>,

_ O

g

C _) N LD _ D 0

r c __

L _uD L uJ D 00 I-- 0 I- U

_- Z _ _1... Z _-

E _'_ _J>C >in

C mD _D

UU UUU UU

_ _ o

_ >

> _ _ = _E 0 0 • E L

> _ > _ _

_CL _DL _DO _EL

_ Z_ Z_ _ C_

• E _ _ LE

_C _ _D LC

U UUU UUO UUU UU

_0__

L

n,I,U

I,- CZ D

4_L

O U

_0___0__mO000000000_

L0

O L.1_ 4,JU

_ L 4_

_ > L L

'1o N L

X L '" O_ 00 _- _U_- Z

C0 D LD

•_ OO UU

C_

Q 0

C 0 _-_ _0 _ 0 m _ • _

3 D D D 0 _

_EO _-_0 _o _ __ ZC_ Z_ ZL Z-_

_E _ _ Eo_ oc o_ _m_ mD mD C

U UUU UUU UUU UUU UUU

• EE

C c"

_ N N

o'1_>

D f- f-

E'O >__EE_-

r" t'- .

N Q) _) .i-'D N N

D e" c

E_>• EE -

_" C E

X N N _)x _ D N

Z "e_" -

X u,.

x __eO0

"O "O

UUU UUUU

_0___0___0___

x

xO g)0

C Cg) g)

OOUUUOU

ak

4_

4_

.ZC

a_ X* X

I_ C * Un _ * 0

C * C

X O) * EX _ .W-E

_ O¢O _- * U

L _ L

UOUUUUUU

U

O

4_

4(-

.IF4__F

* :3._ n

.i_ Lu 03

.#- uJ

.k- F- _-"_ Z

O0 000

C0

C _

E n _)

•_ C _ _. on O.

ne ry c" n_ 3 ne U)w _) LU _ uJ 0 u.I _

I.iJ -_ LU L LU L UJ_I-_ I- 0 t.- 0 I-- o,-Z Z_- Z_- Z

c C: C

UUU UO0 UOU 000

_" EL0LL

L0 C

x ,._

4.-C O.

0

C _0 0 .D

> 4.o =

•_ 0 _ __ 0

d " _ dL _

_Lc_ c d

C_Ol_ __ O_ .i_

L._'O v) .0

• .C_ LC 0

• _ O O _) -_ c- _ L

_) OE nr" x 0')n_ L_ L _ ev c D _ x _mLUO 0)_LL laJ_ x

EI-- _ _ 0 _ I-- _-_ _ oZ _- C O. Z _- _E 0

C_O0 _ _I _

U U U U UU U UU U UUUUUU

_0___0___0___ 0___

C C C0 0 0

In _ In0 • 0 @ 0 •

L _ L. _ L E0 _ 0 _ 0

In m In

UUU UUU UUU

c_

q-Lxx

oo

o

UQIO

L

_0U _

O

• Lo

_ L

C _

C__U

• E_

U >_

_ 0 _ E

U U _

C _ .

_ L L._-_ _ _C

U

UUUUU UUU

_0_

EO)

UUU

LnO0

UU

EE_O>

E c-

Z ._:

_£1.0

4_1" 0

00_-p r

UCI_OLC

U_

_CE

0_0

_10 _r

0 L L -_'O. OOE_

O_

WUU _.

>. >.c _e" e- U_

_ >

UUUUU

C_m o. ro:3 _) _) Io .E

.C 0._ 0 .E C (0

OCL OL

.E_ I/) E in

>(0_ EE:3

x 000. E

_) 4"* .C •>. I/) f" m .I-' m

E.cm • E'OE

O_OX'04- _ _q.._

C_JO .C_.C

_ I/_ IZ 0) 0.0)_ I/) I/) E _4a

_X _ _

"t_X 0J X_- • _00

I/) 0) "P _l E (- L L

_.t-, , _ O) N O.O. _OL LE_-_ U O C00X _ _

,E 4a I/_ _ O_ _ _ _._UJ O_ _ E.I-* UJ u,.. __,_ 4- _ _ _ _ _ >

n_O _o0 _O)_

I/)4-' O. JE • m _-v)_.

OOOOOOO OOO

m

D

> •> __ 4- E

e>_ L

_ _ _ r _0

v) Z _ E 4-0- O0 • _

O_ • _ O:_ .

£L• £i m • 0 -

r_ _ _ _0 _

_ In O_E .,w _. "E L_ O

"_'O. _ _ _C >,>_

r "Or _ _I_ 0O_ X C O CC_m m _ mvJ _O

Io'- _ O _" 0 • +-' C,_,•_ 4.- x _._• _C _'0"_ _ .'0

CO.O_ 4- _> _ _ _ L_ .-_

m o •_ _ _ O 0

.C _).C E_ +.'In _ _) _ I/] In 0

O _ c" t_ _. C +• "_ C C m m_ +_ 0) _'_ D _--_"1_ 3 0 C_I _ _) (N ._'

+_ -, -P -I_ .1_ ._ .1_ E (_ O L. O 4_ L El+ a _ X L_ _X'_

I/) L E _--- _. (- "- (/] N _Z L") Nr_ X 0 E E4-' E EELQ) E_ • O >,_) >, _ >, _ E_.. Q)_ E_. OL 0}_ L O._ x r _ x O) X _ 4- X E E >,C _-

_) (0 uJ 4- 04- uJ.0_ • w _ _- uJ D _-_ _ I/) 0.._ u4 _ E

I_ O O :_ r _ m _) m O m U 0 X In X

:_ JO _m L _ C X _ E {0 m _ m E x _ _ >.m

UUU UUUUUU UUUUU UUU UUUU UUUU UUU

c_

_XXE EE'_N C

-J E

Lu I/)

X

N

0%

Q.

q-

L0%xX

tpooO_

0

a

_0__

UUU

i. 0%{3X 4-

x _U •0 _

C C• •

0__ _O_W_OO___O_mmmm___o000000000_

>

L

X q-

x _U _

0 _

"g ,_

I- c

UU UUUUU

o.

C

Xx

tOGoO_

0

ID

U

a

___0___0_

e,

xx

0

ID

U

E

E

L

UUUUUU

•)F .1_

•1_ 45•N. .]$

4(.

.N.

*

•M. .x-

•K. *k

.15

4(-

45 ._

-K* .IF-K- .K-

X "_

X

0_ O_

[.)

UUU

Q) m E

O_Lu _

• m 0

f_ t-+a 0 _,t- U L

m r

11(_ CL+" Eq,.- E

C _ O E IB r,.) _

>, E • _OO ._

_) +" Z • L _ Q),4- E

E W Q) t.u 4-,,.-.-._q- E

'" J:: "' O) (0 .....r,,,p q.. ..J_ E_ _o3 ZUJ 0_- _n n ___ _ C]

Z ¢" O_u_ _ (_ _ =E

Q) c" • W E E E ¢" ¢-

U UUO UUUUUUUU

m

Ex u,.,.

× ;U _

1" I'-

U UUOUOU

___0___0___0 _

n

Exx

0

U

_ X _x

_ _ U_

"_ _ 0

UUUUUUUUU

c0

mC

E

LO

D

• _ O_ N- 4-'

.io

L _ L

L nO

O

_ CE _ 0

.Or" ._ r- _.

m L _ 3 E_ _- E

x r _ c-_ E.DLL E c+_ E E

U_ _ _ _ UJ_ O UJ C E_EE _ . _ _ _ -_uJ _ _ w _ _ u_ _) uJ E xI.- C r I..- _ i-.- a)-_ I.- :3 ¢IZ Z _ Z_J_ Z E E

CC

O OO O OO O UUU O O

0___0__

43

0

C0

_3

m

U0L

0O.

0 _-

O.

- _.O"OEO

E C

Ul _,O11 C0 ._ E 0n X L

C _

O Z EO _-_ _

_ X

C

U U U

"0

OOLO.

c_

O

E-

C E_E • E

E n,•_ ILl4-

_ _0X "'

EO Z_

® E

OOO OOO

C

Z'_

0..c"

0

0 O._-x,,_ x

C

UJ L LU-_

UJ _ D.

Z_ ZO_

0 I_

c"

O0L_*

0EO

GE

"10C

.io

,ioe-

LL

U

4- LL4- OU _

r_

LU L

I--U r

E_

r"0

ODL4offlt-oO

L

C

L0

•_ L

Z •

O L_ 0

"'EE

Oct"

.on

UUU UUU UUU UUU UUU

O___O___O _

I/]

E

UO

"Of,.00

L

¢-4-,

c"

133

E

qJ GJ 0 0E_ E _)

Z f- Z OO O

(_, 4-, (/T _)_-_ • U

LO _fv L c_, L

0 _. (_

LU uJ..I _J ..J q- _flO E nn _- "0•-_ -n o

"0 E_c- _ a)• _'0

UUU UU

c

X

t-inE

X

I=

.LI..

_0_EX_

E

4-, C

C E

4at-

_ E

t-

_ L_ U

_.Q 4_ mE 11. m mx x _ EX E

"_ • X _,-4a X 4-,

Z_ EO O ._

t- _"

U UUUUUUU

_0___0_

Q) XO_ tO *

X *

E *× _ *X _ _:

_ UUUUUUU

U

Q

-R t[-

•# ,i_•i- tl.

t(-

.ifX(0 .)(-E.X-X ,x-X .w-

,w-

U.wO*

,,w-aO._

(-.O.x-

E*O*U*

U U

ul

O)..C O)> _) .C_x> _U(0 >'_ E_ ('-4::: x

0 O) x

L 14JCO0) (..0_ Z,,,r_ "'0 0

x

U UUU UUU

>C

>x

t=

×

× _

xx _E

U W0 _

o_

(- r-

UU UUU UU

0___0__

UE

E

L

UUUUUUU

4_

4F

4_

U_

E_X -N-X "N"

"N-"-'"N"

0"_

r_-X-*

O_

E_0"_"U-N-

,N-

•Io ,1__'J *

U U

L

>

"" 0

O

* 0 ._ r_ (0 > E _ ._

cu_ > _ X EI-- _). r_ L ev _) _ X 4-_'_ _ _ uJ 0') x

_'U _JO U.l_ 0 __

"I- O) Z Z _ 0

0 0 0 ._ q-..00 _ "0 "0 "D

O UUU UUU UOU OOOUUUU

_ _ __ _0_ _ _ _0___ 0

@¢3

o.

t-O0EXX

CO

O_

0

ID

UO

C00E

E

L

UUUUUU

C00EXX

00

5c-oEE0U

L

gU

C _

w_ E

* _ 0 L* _ E 0* L E

* _ C 0* 0 0* 0 _ 0

* m m* _ _ L 0* L @ 0

* E _ C E* • L _* _* _ • C* • _

* 0 _ • E* 0 • _

L E > __ • _ _ -* 0 _ 0 _ 0 0 _ m* 0 • 0 0 0 0 • _ C* E E E 0 E _ C 0* _ • _ _ E > O _ O* E L _ U _ L L 0 E

* Z _ Z • Z 0 Z C E* 0 0 D 0 0 0 0 m* _ _ _ _ _ 0 _ 0 _

* & _ & 0 _0 _C O_ x E* _ _ _ _0 _ _ _ X* _ "- w _o _ ._ _ _ x* _ > _ _ _ • _ C_ _ _ L_ Z E* _ _ _ • _ • E _ 0-_-_ _ _ 0 0* _ D L D_ D_-_ D O _ L _ C _ O •* O E_ O_ _ 0_ O EOO Z_L _ 0

* O0 OE O_ _0_ OE* O0 0._ O_ c_ OD _

EE E_ E_ "_E@ EC C CO @

UU OUU UUU UUU UUUU UUU UUUUUUU

_0___0___ 0

0')

Q..

"0

XX

0

lID

U

>

t-OU"(3

Uif)

,io

m "(3

"(3 N×

. ×

m O

C

U U

"O

fflE

E

P

"(3C_J

UUUUU

0 _ (_1_"

E

E

L

UUUUUU

r_oo

EE

c-X _-

× _U •0 _

n __

l- e"

UUUUUUU

_0___0___0__

O_

o.

N

Cxx

0

ID

U

Q

* 0

.w

* * GI

: =* L L_

. r-. ;.. E

* X* _ C"N * _ _-" E 4- 4-

* "_ "_ _ 0

c * O* c_ I'-

_- *.0- 4- _ n- E

E * C* n, :3 _- c* 0_- Lu _ _j _

4., ,_ _u _ __ _ _- _ 0

UU UU UUUUUU UUU UU UU UUUUU UU UUU UU UUU U O UO U UUUU UUUUUUUU UUUU

XL L L t- U] X4-0 D'_ CO G)_ O U n_

tw L rv_ rv._ILl L_J_ LU

UJ_ UJ LU_k--_ l-..l_ ;.-._Z_- ZC Z_-

I_ O n

UUU UUU UUU

4-,0

(Z

UJ

Z

O_

o.

N

Cxx

o

U

NN

CX 4--

x _.xU •0 _

-g ,_

C r

UU UU U U U

0___0__

__ r0 _0> >-_L 0 C

_ L_) -_._ _r_

0Z

L 0 O"0

X 0 D

f_ ._

_ 4o

_J

_ "70

4o l_ L

• 0

000 U

_0_

0

O"

0J_

E

U

L

C10

LO.

L

X

0Z 00 O.

_ _ X

.J U) Zm O

e_ U 0

r"

>

UO UUU

ffl

00Xx ._

U •

0 _

"0 "_t- t"

UUUUUUU

__0__

L

UUUUUUU

@

if*X *X

U*O_

n.

O*E*E*

U*

U U U 0 U U U UU 0 U U U 0 0 UU U UU U U UUU 0 U U OU

O

O.

O.xX

Z

0

O.xx

E

O OJ0

"g ,_

i-- c

UUUUUOU

O%

xEEQ.X×

0

U

X

_X__X_

X *

E * U**0-

*_*

_ x

>, O.

d o x_- E XE × E

x_J_ x m= nE_ X D.::=_ "_ XD._ x +,

> > Z E.3 0._XX _E 0

_E E 0 _

C C

i= E C C

U UUU UUUUUUU

0___0_

CL

E

@

L

UUUUUU

ak"E-

4_

"X- ',_

•N- ,_

',IF-X- "K-

•X- "_

L

X akX ak

45

• O*

ak

• O*• E _• E*

• O*U 4_

. +,_*

UUU

@L

U)

t-O

_a

ELO

4_

L

0 0'*- O. C

r_ 0 0 X

E U

On

O UUUUUUU

EL

C

C@

@@

S

U

C

,2C

C

4-,C

0U

C L

_- ELnX 4-X

E

O @

0

"g ,_

t- I-

UUUUUUU

0L

0

× _x _

_ L

_ UUUUUU

U

Q

00EQ.

EL

.CQ.

L

U

0

_ LL m

_ _E4." 0e" .e"_ Q.,Io

C O.

,.., _ Q t"E N _

_ O.

QI > e"

C: _ In 0 - 0,.U • L_ O. 0

> _ _ D-Q) 0 c.O. ty L X > L O.

O. cO X _ O.

G) w X "_U ,.J m Z - E

I-- 0 "_ _'_ 3E _ UZ_ O_a_ - 3E _- 0

C E • *0 Q. "D "0

> t- m t- C

OU UUU UUU UUUOOUU

_0___0__

;>*L*U

*X*X

LU *U_ *0

U *g

X _ *E*0

_ UUUUUUUU

U

_0__

_- O- 0000 _- 0000 _- O-_ WZO_O- Z O- Z _L

0 l/) A II V H 4_ _ V A n H _) "_ 0

C E L _ '-" " -- _ > Z ZZ f.-

_0 O-_D Uu_OU U u_

UUUOOOO UO UOUUU UUO

_0___0___0_

W 0L CqL0 _-_O

L

r"

0.0E>,

L0

U U

E0L

E0U

.

C_

_C

_C

"_m

_C

_ _ _0

UUUU UUU

0

C

_e

¢Y

Z

__0__

EGE

a) ,'-'.O

.Q)• I/)

.JO

E•" _om

U_O

c L c-O 00_

q- U f_

•_ r"L OUOO _U_,- Q-Q.W

_ 4._ L E

_ _- E'_

r" Q. _m 0 _ •

10 .. N C

'_ O0 _ _ 4-'

Q._) _) C C: -J N C

_ 0 0 _.C._ _" _ __) O UOOC._U n > (nr'W _)L ..._

OO OO O O O U O 0 O OO

43 >,X

L

• O r" E L

E C O E N

:3 m L _ In

_ O m E (l.

E r" "0 'In L C _'

O.0 "_ 0 In

r _ 0 O_ >-_

0 _ "" _ 0 0 e_ _._ C

W _-- _ N _) > C_),.C N _l _ E • L_ >

_'_ _ _N 4"_ > _ > X _ t" O_ > L

I1 C _ (" O "OD._ X - cr

_.0 Lu _ LU "- _ _ x_"0'_ _ m _ > 0 t_ _- O_ Z u E

uJ w m_- Z O _ Z (_ _) r,.. =E O

_ 0 _ O_ --

•Q.Q Ilia D._ D__ {" C C

OUU OUU OOO OOOO OOOOOOO

L

O

XX

¢0GO

O_

0

,t-

ID

U

Q

* @

_ X __ X _

L

U * U*

_ O*

_0_

L * L*

UUUUUUUUU

_ _ _ C _ _ C

_ E_ _0 _ _ _ _ X

U

_ _ EX X O_ _ _

_c

Z _ _ Z_ _ E Z E w 0 _m _ D Z Z Z 0 Z o

L E E E E E E E C LL L L L L L L L _ _ _ X

O _ _ _ _ _ _ _ O _ _

O UUU OOO OOO OOO OOO UUU OOO UUU UUU UUU UUU U

0 D 0 m

ETO

r" mI1:4o ¢Y D e¢ D

uJO _ mCI-- U I--'_ I---_Z Z r" Z

_ 0

U

.CL)

C

@L

OO UUU OOO UUU OOO UUU UUU OOO UOU OOO OOO UUUUUU UUUUUU

O.LU

XX

O

U

O

U._'O

4-aL_

_ U _O0"E

",: 4-

×_UEO_

E._,_EX ×_e'r-vO'O"

4,J . .

"0 t" C

.(-,_

U

X

4o ._

=g O" IJ" O"

LL

UU O"

XX

E

U0

-g ..

UUUUUU

_0_

,i$

E

5¢--

4-'C

(:i

&L

O.O"

&3>10ElO"

E *X _ *X _ *

0 _ *

_ UUUUUUU

U

,II-

X *X *

U*0_+

n.

C*O*

O*U*

uu

0 _

_ n 4-

L X _"

uJ 4- X

I.-- _ U Ill

_ t" e"

U UU U UUU UUUO

0___0_

CN

W

O.

ELO.

XX

O_

0

;/

ID,r-

0II1

>

x

E_LC

E_

>,4-'10

_C _L Z:

L U

E_O_E

_ID f.

cE _ "_OEL L _'

_ID_-

U_0

r_

r

0000

_0

O.

IJInIZ

E

C

,io

0

&

Eo

E

_ _. × _m ×_- z _

• 0

0 C C

O0 000000U

___0

*x_

XX

X _

L *0.

E * C*

•_ _ 0

L

UUUUUUUUU

O.5_

XX

0

;/

ID

X_ X_

L _ O_

_ _ E__ _ E_

4-C Q;"_ E

ED'-

tO

r,,,_0

T

D.

E

m O)C C

E

L.

4->,

_ 0E E

"P' • Z _ "_E _ _.

O • _t" tn L

_ o

_ _ _J _r_ n, Q) Q) X

O _ '"rE_..0 ._i _ (_ Z

n, 0 _n (:3

0 • _

U UOU UUU UU

0___0 _

.i _-I_ In

xXE

0

"g ,_"0 _C E

__0

*C

*X_X

_ *0

C

x _ *EX _ *E

*0

_ L _

O _ *_

_ UOUUUOUU

* L* O

* _ C

* 0 mC

* O0 _ 0* X X* _L _L

* _E _E

* _ _C

* _E _E* ZD Z_* _E _E

_ _ ×* E E

OU UUU U

_ "O

(_ • -_ _ N _ _ t_

O _ L L L _O _O

-_ "0 -_ _) _ _) _ C: _ C

UJ UJ LU _ LU i_ LU LU

UJ ;.U _ kl.I _,_ UJ_ UJ L QJ L_- _ _- 0 _- _- _- _ _- _Z'_ Z> ZL ZL ZX ZX

0 _ _0 CO L _ N _ ¢_;

L0

C

0

""0r_ It:

_E

O _'_

Z Z'_"O O O •

_ w_ ku4 o

'_ c C

UU UUU UOU UUU UOU UUU UUU UUO UUU U

r-

In

N

L

.XL

L

d0U

E_

d_noOmX L

E -15

_cc •

XX -

i-

IgO -

OU

C

m

X

×U0

C CW W

UOUUUUU

_0_

EL

XX

tOoOO_

0

U

EL

E

L

UUUUUU

L

(-

EL LO O

L "O_3QJ (o L LO_ O O

+J_aJ{- UL L

L L

L WOO

E U U

"13"O

UU UU

c_

4_

LW

_jl__

w.Or,.

'10

U U

U

C

O

C _

c _°_ _

U mE

L _O

E_ _ E• _ E _m m _ _

X _ m×

L _ XX

_ _ O _

UU UUUUUUU

_0___0_

E

E

× _X _

_ L

0 _

_ UUUUUU

U

O

t*

.x. E .x.-

_k X .1(-

.1(- _' -N.

.1(. U ._* O*

*..0,

"_ 0 -.x.-

.x. E ._.-

* U .1(-

UUU

O___O _

E

m

m

6L

E

E 5m _ D.

X n mX m

_. X "4-X

_ 0 _

g c

U UUUUUO 0

__0

(N

03

_0r,

i-

XX

COO_

O

ID

U

Q

>

E

L

UUUUUU

4(-.IFaj..II-

.K.,E-

41-

a_

-K-*

'_ X._- ×

U

Oak

"_ O

-_ E-_ O** U4(-

_ 4a

UU

.R4_

-R

,11-

,II-

U

n,-.. >..D m4,1

_ Z _

11

0 C_. u,- X I/_DCw- _ X q-

LU LU O) XCgO'_ _ Z Eu_ rno 0 -'£

5 5 _

U _ U U OU U U U UO UU U

___0___0__

Q.

E

X

(D

O

(D

UQ)Q

UE

UUUUUU

C

COO.I/)

L OO"13O

"Or"

(/)EOL

c"+''O

.C._4-'

O"O U

mn

U OO,,_I/)I/)l/)

_',EO

r- o

E

_r-LE._ L

r"

UJ _

Z_r"

r"

U

O_

E

1-4.0

LO

@

L

C_0LO.

C

q-0

0

UO

O

8

._

I¢1

k--Z

UUUU

O U

"0 '_E "_'E_ 0 _ 0

4o ...1 ,.J __ '<'O "_'O

._ 4o 4o

UUU UUU UUU U

'0L0U EW 3c C

U

W U"0

o

4-U r,U C.

C"0 '_

f-a _

O .,eU m

L iL _

_ Ur-

c O E UO "_ U E>_ _- _ E "_O O X _ 4.-'

uJ U X -w_ Z ELU'O O _"

Z_ s_ 0

c

_0___ 0___

>13c"

4.=

013r@

13

r

4=,

11

4_

> (n

c _

CA _ CA _

uJ E uJ .w E -_rv L ev X _ +ar_ _ _ x

l.t.l _ x .l_

UUU UUU UUUUUUU

_X*X

0 *U_ *0

*0X _ *EX _ *E

*

_ UUUUUUUU

U

_ o

* - _ o

* _ E Z

* • E _ _ _'_

* _ _ -_ _ _ _ -_ ._* Z_ Z_Om 0_* _UU _ L

* 3D E_ EE* _ _E "_'_

_0___0_

n.w

m,-_ .0

_'_ Ec_ 0

+ • 0

P- ffl

D _ O_

0 DC_ _.reW

E• t_

u) In 0

LO.C "0U.I-' _)

f.._ L

(_ 0m m UE.C . u)LU0) O_m@ "_ _. E "_

-_ L I/)Ect_ m

®u,.. _ t"'_¢"- Q) v,..,

- - "' ";2

4_._ >, _)EEJ_ 4a L

L4a_ O. Ee

I/) "P _I- ._ ",_-I __- • O -I_ E 0 .0 _

O" 0)_ a E :3 _) IZL E

uJ-_ O ,,, L "O E uJ (_(._ L I/) E >_ -.I q- I/) _ .J.Oi.u 0.@ U I:O _) • cOt--- -- _ C ::3 >_ L In D _)

O" E U .,'-' O 4-,

L 30..E _ .Eq- I/)1/)4-'I/) In

> _ ZU_

• ttU LO_

UUUUUUUU OOO

__0_

mZ_ Z Z

0 0ME _

_D _0 _0_-_ _

O_ O_ O0OC O_ 0

0 _ E

UU UUUUU UUU UUU UUU U

__0 ___0__

F

J

4_

60L

_r&_U

"O In'lOO

"O In _ 13.0

C _ L

_ ¢" C.) 4"_+ "_ O'_ q- q-L • C 0.._.".*, ,,, '*'_ _- OIO .(-' :3 ¢'-_ n,._ x._ 0 +.'

•_ 0 O. :3 :_ X 4-' .ry r,' c" 0 n,'w- 0 0 _ - X W-LU _) UJ O "' A LU _.Q. O'_ x ,_,C','3> E3-_ A _ >_ ,--I O O Z _ E

Z'O Z O_ Z_-_ 0 =E 0

UU UUU UUU UUU UUU UUUUUUU

_0___0___0_

_0

_X*X

_ _ *0

X • *Ex _ _E

_0

_ UUUUUUUU

U

Q

Jl-

4_,w

•_ 4o

• 0

• ZO

• I.u 0

• o.

• I.u 0• ._I r• nn _>

•_ 0

• >

. r"• 0

OU

ZO Z_ ZO_ O0 OL

O_ UO __0 _'_ _O

_ _'_ _0

_L OX 0

O E

UUU UUU UUU U

_0___0_

>c"

U

U

InI/}

X 'FaX _-Xz

_E O_E 00

UU UUUUUU U

__0_

N

mD

* * E E

* _ W G)

* * >, u3 m

u) In u3* * "O C

* : "_ E _ E i* * In >,

* * 0 c L

. : _- g o

* • o ® _ ® _ x* _ (J _ _. _

* * _I 0 ;_ _ _-_-_

. .p

* >_* _ OJ W O 0 I0 C W'OU

* X* O _, "00 _ _ ,_ I/] Z -_ ".-'_ :3

* C * n, _ _ _- n, _, _- E _- _- 0 _- 0 0 _. X _-

* _* -_ 0 L 0 r''O C m O m O U, u "13

* _* U 0 "(3 _

UUUUUUUUU O UU UU UU U UUU UUU UU OO UUUUUUU OOO UUUU

X

X

X _ *

_ UUUUUUU

U

a

@ *

•N *

•1_ tl-

tl-

@

X*U*

X*x

O*

.Q*

O*

O*

U*

U U

0 L _L_ 0

Z Z Z Z_

0 0 0 OL

"_ 0

OE QU Q_ O_

L •

L L o 0 L (_ L"0 -_ 100 LE tO_ m m _L

•_ • 0Z I_ Z Z O Z 0 Z _ Z Z >, Z+'0 L {D CD • {D +_ (D • (:3 (D'c-' 0 O

{/)_ {/i (/) _/I_ _n _ _ (_ (;I> ¢_I_-

U E _JL _ _ U L U C U U_ U ELu _ "' • _" _.. uJ _J • w L w O "' 0

n (_ _._ n nO _- • a._ _.-- {1.+-'

-J _ "4-' -J E -- _:_ .J L .J .J L --I_

U UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU UUU U

0___0_ __0___0 ___0__

_0___0___0_

Q)

Q.

4_E>X

X

tO

O0

.v-

O

E

>

@

Z

L

m

OOOOOO

,K,

•_ E -K-•_ >.__ X__ X _

• 0-_-

•_ O*

-_ 0"_

4_

U

6

J

11

4_

4oE>

Z0

L_,H

n_O.

LM

rn

0

O O

@

L

@

o

E

OX_

EO

C

o

;=

OE0

_0

m_> E>

_00_

@ EO00 >

-_ XE_._ x"_E_ X_N

_'_L_ Z

"_E_O00_'_Em_

_-_

EO

>_

OOO00000

E >>X _-X -_

E

00

"g ,_

C E

_0___0__

* 0. 4.s

* _ 0 0

* X* _

4'

* U* _C O.

_- . o. r,, ._,, L

E * C* _0 m,* O* 0 w

* E* r,,,_* O* _.Q I--

_- * U* "ri= Z

L . L . mm * _* >

UUUUUUOUUU OO O0 O0 O0 UU

*' Zo_,f.. _=

xxE

,XO0

-g ,.

c" c"

_x*

_ O_

E _ _

E _ C_

• _ E_

EE

X u,..

E

0

'ID "0

t- ¢-

(.) 0 fO 0 0 0 0 0

f_

"a"a

CO0.o

U

E

LI.

L

4_

UUUrO UU

* .E-

4_ -IF

•K- ,K-•K. I_ ,,E

_ X'_•_ X'_

*_*

•_- E *

UU_

X _X _

E

O0

0___0_

00

E

L

UUUUUU

•K- 46

44- _

,N-

•N- _-

_ O*U *XX .N-

•_ U ,x-

"_ 0-_

•x- ,CI ._

-_ 0 *

UUU

,_-C'¢

LO_OC_LO

I_LO

O_-

CO

r:

_ °_

4o 4_

r 00 O

(.)X _-X -_

E

U0

(.- _-

U_UUUUU

® E

LCL

EL

_ L

0 _o.

'_" UUUUUU

U

@ *

• .N

• @

• Ee

X• X*

*(.1.

*J_*

, c'. x

• O* X

• O* U

• O* 0

. "g• L*

• 4..,. f-

UU UUUUU

_0_

EL

O."0

11-

4-

"(3C

m

UU UU U

L

U_UUUU

i+

(J

e-4+

W_X

X

U

O_

c_

O_E_E_

O_

f,.._

U U

O_

_ O_

0_

._

_._ e-c _

X 4-X .ca

U W0

"g ,_

r- (.-

W ®

_UUUUUUU

___0___0_

0..Q)T_"O

"0

oO

O00

U

0

r_

X# X_

Ill

X 4-X -_'

E

0

"0 10

c C

0__

L

L

W

UUUUUU

L

_ X _

X

_ O'_

•_ +_ ._ 133 _1_

"_ E _ 11_ O _. t')'_

UUUU

Lc"

XX

U

0

"OC

Ut_O

_0___0

D_

4_E

w-

UUUUU

L E _

.0

_ UUUUUUU

U

0

-IF

4_

-iF

,)F

XX

UO

.Q

4_

c

OEE

OU

4_

4_

U

00

o

o

oLO to

-0 _ _ --0 • - -

0 _ • _ _00_

0 _ I:_ _ _ _c 0

CI+ _ >,2_ O _ >,:_O_-,X X c_ X X X Q._

UU

L

C

UOU

_0___0_

>

X _1-X ._

E

O @0

e- t-

_u _o o oou

,e-

Q..

4.a

r"

510

¢D00

O0

Oo.

¢D

U

L

UUUUUUU

•E- .,K-

,1_ 4F

ak .,_a/,.

a/. 4_

4-_

C *

X *

X *

,_ .,x-

UO*

0 * XE* EE * ._

0 * OU * 0

4° ,1_ II-L "_"

_* _ "0

U UU U UUU UUUU

_0__

__@0___0 _

Q)

0')

r,

m

E

"0

EDoo

o00

_" U

(J

r,,

_X__ X _

E *C__0_

"_ _ 0

UUUUUUUU

EEX 4.-

v

0 _

C C

U U L) U Cl t) U U 0

_0__

C

X

E

E

L

UUUUUU

a/. ak

a_ .R

-K- -M-

.IF

. ?,4F 4_

t

X .N-

•N- _ .N--N- E .N-.N- X .N-_ X'N-

•x- .lg

•_ U "x-"_ 0"_

'_- C t(-

•_ E _-'_ E_

OUU

X

_ X

X O) X _-

> X -wC E

C CW W

___0___0

_J

UIn

"0

_DCO

O00..

ID

U

E_

UIn

E

L

U U UU UU

_" X'_

•X U_

"_ 0 _

'_ 0 "X-

UUO

>

r

0

4oQ.

[,,UIn

"(3

0

0

O._m

-,-,04-'

"0 "0 "0

U

0U

EX

E

U W0

UUUUUUUU

0___0 _

C0

0E

E

L

UUUUUU UUU

CC 0

0 00 EE

X× _E

U W0 _

l'- e-

UUUUU_

___0__

O..

E

C"O

"O

(.gCO

01

¢0

O

_" r,3

O

r',,

_®._ E _

_ C_X

_ X_

* _ E

_ C_ X_ O_ X

* S __ O__ O_ 0

O00000000_UO

__0_

E

C

4-

o_

4,-

C

00000

N

C

E

L

UUUUUUU

.IF

_t

4+

$+

.R

N

q-rxx

£J

O

JD

"(3

C

OEEO

(3

,io

U

_t

4(-

t+

t+

,I+

,)+

4(-

0

IN

O4

N_'_ N

•h' q- c

C XD X

E.X

4-_ O

"(3 "(3t- C

U (.) U 0 U U (.) U (,)

___0___

C_ n0

n

Xl E0

_ 4o

0

tl

a

L

_OUUU

•I, .1_

•_ .x-

• X_

• X _

v .

• U*• O*

• _* X• O* x

• O* U

• U* 0

t* L t*

_0_

0

_3

W

UU_OU

C

L

E

L

UUOOUU

-K-•N- .W-

:k -N-

•N- .W-

-N- -N-

.K-

.X-

'N- -N-

•N, -K-

•W- .X-

•K- "X-•N- L -N-•N- t_ .N-

•_ X "N"_ X'N"

-_ U "N-

•_ 4-' ,X-•N- _ *

•x- E ._

"_ 0"_

UO0

O_O0

_0 _ x

C C

___0___0_

o.

EL0LCL"0"0

I,,0O0

O00°.

I,D

U

E_

0L

E *

L _

UUUUUU

-N- .1_

•w ,1_

•1_ 4(-

•x* ,_

0"_

XX

U_O_

.w

C0 _+E_

O_

4o .I(-

U U

0

xx

U0

.0

"0{,,-

UUUU

0_

0f.O.

q-

"0

QJ

UOOOU

> *L *

U *

_ *

L _

UUUUUUU

_4_4

* _ ,'0_3

.1_ * oO , •

-i_ • "0 "t3

._ * -oooo* ._3"0

. : _'.>. _4ddU * • , ,

U _o. gdd -

* • • • 0

* . . >

_* C _J O _3r

C * 0. O0O0_O._ X _-0 * _0"0 _3 _3 _ X

E* -_ . • .0. EE* cq (_ C%1 __

U _- a_ • " "'_ 0

cO* "0 "0

UUU UUUUUUUU

___0___0_

0

C0

E

L

0

OOOOOO

U

O

•E- ,E-

.,E. ,N-

.IF

•IC- ._,K,-

• Q) ,Irr

_k X 4_• X_'_- 4#

_ "I0 *

E "_

UUO

,,.CO

CC •

•'0 t- X

o'_ _

e- c-

oclooouoo

0___0

L

E *

L

UUUUUUU

[L*

> *X *

vU*O*

JD*

• E L

C:: ,,w- X0 * XE-w. EE -w .._

0 _ O O_O* 0

L t*

UUUUUUUUUU

___0__

0%

a.

X

tm

"0"0

lOO001

O0

0

(0,I.-

U

O)D

* ** .

,w .w

.I_ .w

._ .w-

.I+ .N-

-N-

.x- .I(-

X

"_ X __ X ._

tl. 0 _

"_ 0 _

_ _ 0 _

0

6

0

O_.

_ XX C1

D C LO+ _ __0._ Xc_ X

1- r

O_W__O

L

E

L

UUOUUU

•w- X•w- X 41,•N- .N-

# _.' .TW-_ U'W"• O'N""N" _ "W"

"W" ¢'_ "N"

"N" ,'_ ',W-

•_ "0 "N"4+

• - E.N

UUU

t*

-I+

0

O.

L ."_ XC ×

_ C

U U U U U U (.1U U

___0___

>0U

>0U E

0 m

U_UUUU

U0

.E-

4(.

•IF ,_4F

.E .E-

.E

•N- 0 {_ U-X-

_" X .M-.K- X _

•_ O_

._ r-_•_ 0 _

_ 0"__ O.K-

UUU

60 _

_ B

6 o

B _O,

0

.._-_

o ;6 o_0 *0 _

-_-m_ O_O. -.0.._0 00_

• _0_ ....0_. 00_• -.0 -_,

O_ O_ .__-0 -_ 00_

_eO_40_0- _

+_00_-._._.

0 _.I

> O0 C

_O0000 O0>_-0_ .... O*Om

0000__-_.-_

>> 00 UUInx R-

x _,¢

C C

0___0__

00

___0___0___0_

EL

EL

E

L

O°.

UUUUUU

U

Q

.K- ,_

.E- ,_

.E- .1_

•_ E_

._. X .,_

•_ X -,x,-

• U-_-

• _* E•_- ,,_ * E L

• O-w X ,4-,

• E* E• E* _"

• O* 0

,o.w ¢- C

U UUUU U UU UU UU

_0__

E

E

L

UUUUUU

aX-"W-

41- *

"E-

"IF

"E-

•K- "K-

• E*

• 0,. "M"

XX -w-

.x- U ._

-_ ,.Q .K-

•K. 4.o .X,

* "O -_-

• O*• E*• E-X-

"_ O -K-• U'K-

O

o.2"0-O0

._1

E

_'_ X _-

ImlO E

•l.a .l.a 0

r'- t-• •

___0___0

c-

m

co

oo

o,.

u

r_

* X_* X_

E *C * X

* O_ x* E* E

* U* 0

L * L*

UUUUUUUUUUUUUUUUU

_0__

>

E

Z

L

UUUUUU

ak.E

4F.16

.x-

4_

?,4_

"K-"E-

X

* X

U

* 0

-K-

* 0

* E* E* 0

U

.N- f..

U U

0

-K-0

x> X 4-'

m E

U Q_

C C

UUUUUUUU

E

0 m *.o

OUUUUUU

0

0

•1_ .N

E*

X *

O*O*

n.

*

_0 *"0-

*t" .

0 *E*

O*U *

ill *

U 0

0

0 E

X _-

x

0

I- I-

E

L *

O_UUUUO

4(..)(.

4(-

; o

* o

E'_"

X *

U*

O*

n.

,t o .1_

C *

E*E*O*

ffl .*

UUU

0

O__ 0

,0_

_0__._ 0 __0 "_

UUUOUUUU

_0___0__

_)

0) _,-(0 0

o _

°_

lip u,.

0..

'_" 0

U

D

* 0 _*_

XX

* 0 *

UUU_UUUU

q-

u,. 00 _4,-'Xx _

U0

-g ,."_ "0

OUUOUUUUU

0__

*0-

* X *

E *C * X

* O* x

* E*

* O* U* O* 0

L *

UUUUUUUUUUUUU

II)

.to

@

C

@

UUUUU

m

E

L

°.

uuuuuu

u

D

.N- _ .N-

.N- X_Sr X .N-

e E

* U

U U

00 -

0.00

_UU x

_0___0_

×

L

UU_UUU

.+

4

tl_ t'N _

8o* ^: 8O* ..0 - -

O* (__

¢ .

40

_00 UO

X

X U¢b >>X _-X ._

0 Q;

0

W _

LIUtI_UU

___0___0_

cOO-

tOO0O_010

_DU

_D

>

E

L

U 0

*_* 0

* >** X* 0

X

* O*

*_*

*0- _ X

*E* > E*E*

* O* _ O

* _* _ _

* L *

* _* _

OOOUUUOU UUUUUUUU

(0 'Q" I_ ¢D _ O0 _0___

___0_'__0--_,_ ___

O0 0000 00000

0000 _ 000

_ _ L __ U U U U_U U U U U

_U U___ U U__

...... O0 - - -0000- - 00000

oooo ..TT_TTTT ..TYYY_

_ U UO__ U U __

U_ __ _ U _ _U U U U L_ EEEEE

EEEE

X _ C C_ _ C C _ C _C C C _C C CC C CC C _

_ UU UU UU U U UUU UU UUU UUU UU U D

UUUUUUU UUUUUUU

XX

E

U0

L L

W _

OUUUU

OO

L L

Or-e -_UU

UO0

- OO

-L L

Oe-e -',-' U U

Uwg

- lIE

_ U_E

C f" _

•to 4_ 4.s

UUU

U CI U

X _-X 4_

E

U

t" ¢--

OUUUUU

___0__

UX

; _ ×U _C • U_ _ 0

_ L L

.o_ OUUUO

U

Q

0

0_._

c" .K- _

7_.

-(" L

0_1"

UcO

_g'8"_" 0UU -

UU'_"

c- e- l"

4o 4o ._o

mmm

OU

0 U0x

× _U W0 _

&l u,.

t'- f-

UUUI.IUUU

_0__

C0O

E

L

UUOO

C0U××

,xU0

.O

4.,,I/'J

U

0

L

,,CU,'-.

0

. r-U

O-

f,_ •1_

U

t- ,__

_c_ UU_

t-.

c C._ ._.io ,Io

U U

U U U

cc 00 UUX .-

,.eU •0 _

3 ,-

c C

t}UUUUU

___0__

.e-

a. "0 i_'Z3x

m _ xE

C • U

_ L L

_ 4.,' ,_

_" UU UO U

U

O0

t-'_"U U

;bC_Ln

O0

C" I-U U

×.1:1

c" t-

._o 4o

m _

U 0

UU U

_0

cO_0 4-.,

tO "0"0x

xU0

-g ,_

l- c

UU_ LIUU

0

_ 0X 0

_ × _• U E_ 0 _

L L

UU UU U UUUOUUU OU

___0_

0

L

U

0

L

c-U

C_O.

L E

E _ X C _L _ X "_

E _ X_ X

_ • -

_ UUUUUUU UUUUUUU

___0__

Q.

®

q-c-¢-

oOO_

O_0..

(D

U

r_

0 0 0 0 0 0 0 0 0

LO0 LO0 LO0 LO0 LO0 LO0 LO0 LO00 0

_ L L: L L: L L: L L: L L: L L: L L: L L LO0 LO0:

_U U_U U_U U_U U_U U_U U_U U_U U U _ _ U _ _

_______UU_UU_

7>>

000000000000000000000000 ......

u u L _ L L U L L U _ U U U L U U L U _ U U _ _000000_

UUUUUUUUUUUUUUUUUUUUUUUU__

______ O U O O U O _

E_ • E_ • E_ • E_ _ E_ _ E_ _ E_ _ E_ _ L L U _ _ _--_CN_CN_N_CN_CN_CN_CN_CNE_E__C__C__C_C_C_CN_CN _

JJCdd_CCJd_dCCC4ddCJJdd_ ......

_ _N_CN_CN_CN_CN_N_GN_CN_CN_N---- _ C3DCDDC3DCD3C3DCDDC3DC3_CD3CD3_

O _______ E0

_ UUUUUOUUUUUUUUUUUUUUUUUUUUUUUUU _L L

m _ m m

OOOOOOO OOOOOOO

XX

E

U0

L L

UUUUUUU

0

OOLO

L L_L

UU_U

b_Sb

0000

LLLL

UUUU

_N_O_L_E_

d_d_N_O

_E_

UUUU _ _

C _

UUUUUUU

___0__

O_

ZO_t-t-

c0O_

O

_t

0

r_

oL r,-O_

t'O.l_ L O

U

O- 0 -0

L - LO L

c'Or" L_

_U_

_U E_01

n. _Z) n

•l-'"W 4-_.la'_-_ X 4-

O _"

4"L U O O O O _ 4.-

OO UU UUU UU OO UUU

___0___

LL

XX

E

U0

UUUUUUU

L

4oE

UUUUUUUUUUUUUUUUUUUUUUUUUUUUUU

c" C

UUUUUUU

o.

>

L

t"r

0O

Oo.

U

a

", 0 0"-,

_', L L_

L U U f-

-_OO

L .1: r" e-• U U U

- EEE>LL L

L 4_ ,1_ 4-o

> EE E_ L L L

x _ _ r _ L

E 4.a.m-,4..,+., X 4-

03 U ,_ m_ m E

,,- ,_ .... o° _°'4a UUU U _ 4-

UUUUUUU UUUUUUU

___0__

E

W

UUUU

P_

0vi.

U

0

U

4a

C

L

C

"_ _ "EX _ °_

4-, X

-_ _ ×U _0 -_

L

W _

UUU UU

4_

0

.poE

W

r-

UUUUU

___0_'_

D.

CC

00

0..

U

0

__0___0 _

m

E

L

OUUU

EXX

o

0

o

0

0

_p

"O

0

L

f-

U

E

£

E

•_ x 4-x -_

E

_ .u "_ ;2

r- C

UU OUUUUUU

___0__

_m

Q.

tOEEE

_PoO

0°,

Ua)O

000000

LLLLLL

OUUUOU

000000

LLLLLL

UUUOOU

_3XXLE"-_U'-_EE_

_._ _

_3XXLE_'_ • _0__ E E_

E __ _X ECCECE _ EX ........ _ E

ewwwww xE

_ OUUUOU _L L

_ C E

UUUUUOU UUUUOOU

___0___0

t""U

.

0

¢..¢0

U

OJ:>c"

X >X C

EEX CX -_

E

U m0

_ L

U_UUUUU U

XX

EEXX

E,,eU0

C rW m

UUUUUU

___0__

Um u•_ m

E EU _ X

C • U

_ L L

O m m

_ UUUUU

O

A

O

f" L L

_f'.C_UU

OOO

L L L

t- e" t-UUU

_m f-

"_ O +"

d,2;I1)>_

O._

C CC

4o ,io 4_

m m m

UUU

UU

UU In

E

,IgU •O _

"g ,_

C e-

UUUUUUU

_0__

O0 0

L _-0 _-0

t'.C L.C LU U (_U_

O0 -_ -

UUI_U__._ c_ r

r- I-_O, _0 O- 0-O000_EEOELD_O>OEEE_E

_E .6 .000013OOOOL

C EEOEO0 C _'_E > E0 0 EE_ L ¢- r-E O c- 0

E '_'-" "--_ 0 0_- X C c £_C t- O E4_ X _ "_ " "_ "_ E

•I-' .o-' 0 0 0 0 U .Q _-L L

•W +, _" r"

OOOOOOO UOUUUUU

___O___

D.

E(..C

aO

m0oo

,r-

(D

U

Q

"0

mE

E

a)

q.

L

.i_In

UU

"0

Exx

U0

4.J

ffl

UUU UUU

m EEXX

E

O0

C C

UUUUUU

_0_

E

C _ _ E

C EX _ CX C

E XX

L L

o _ C C

UUUUUUUUUUUuUU

___0_

o.

N

CCC

_I_00

O_0

,q.

O

0

0 0

_-0 O0 L

rLOLLO._

O0 -00 -"L

LLOLL. O r

UU_U U_.

-...,,_ U _. _. U 4,a

E O.- "0 C- "__ O X L_4_ Lt- u,- U) O L O 4a_-_ O_ n_-

Enx'o_-_ON • 0 _ L_ 0_'_

N C_'-O0 L_ L

_" 4- 141

4' X "_ -_ "_ -_ -_ -_ _ ("E 4.-' ._ 4-_ 4-_ 4-. ,,I-. 4-_ X u.-

0 v-- U

_ _ f_4-, U UUUU U U _ _-

L L

U U U U U UU U U U UU UU

___0___0_

L

C LX _x

E XX

U E

L

UUUUUUUUOUOUOU

___0_

.00Ct-"

0o.

.,,..

I.D

U

CI

0 _0 _X _ 0x 0

E XX

_ 0 _

UUUU_UUUUUUUUU

×0 E0

_ L

_ _ C C

W m _ _

UUUUUUUUUOUOOU

___0_

L

t-O

L

O

r"U

XEEQ.

¢)

0.

XEED.CC

(D00

O_0

UQ)0

x EE X EE E _ X

E X E_ E E

x G E

E _ X

U _ EO

L

_ C C

UUUUUUU UUUUUUU

___0__

O0

L L_ c-• _UU

• -O0

L L t-t-

• 0_ E

_0_ C_ O _

. o f,..laG) O QJ I_O)00 "0 E

•1a (_ _ I_ l.C: 4-, nO 0J4-L C: _ U.C f" 4_

4- X C C: C C: _.. I:_•Ia X ._ -_ -_ ._ C)

•,-' .,-' o_uu _ _-L c

,,_ 4-' C r"

UUUUUUU UUUUUUU

a.

CL0LO.C

COO_

O_0o,

CD

U

C_

O0 000 0 O0

L L L L LO LO L L

_ r'O C C c L f- L.C cO O--- O O U _ O _ O O

-.._ _ _.._.-.. O _. O_.

_c_ U c_ c_l c_ _ c_ "_ c_l _

00- 000 -0 -00

L L -L L LO LO L L

c" c 0 t- t- t" L r- L c r-U U.-_ O O O _ U _ O U

_'_ _1"_'_ U'_. U_.'_

0 U I_E _-_'_ E_L,L _- (_ L 0 _ Q)_ (" 0

r_ O..Q (1 _.. _.. _ Q._n 0.'0- - U_ - - il- il-

il

0 I1 > _ U'O.C E L _ _ > _L 0 _- ilil_lilr_ (lO. ilil_ ilil _. Cl 0

4- X r- r- c C c- C r- c- C c- r" __ O.

E 4-

_ 0 ,,e

_ O U O O O U U O O U U £) _-L L

_ c c

U U UU U UU U U UU UU U

___0___0__

___0___0__

o.

L

UCTCr

¢Doo

O_0°.

U

LL

UU L

X U

_ × _×_ x

W U_ 0 _

0

L L

UUUUUUUU

L

UO"

u_4_E

u_

c-

UUUUU

0_

C

E

L

UUUU

mr".c UU_

.

-0

L r"fO Ur'_

qjr-

O.m

-Oi-

I)J EIrm cO1 c W

X C C _X _-_

4-J 4-p X _-

Eo

== oU

L

•_ r" r

UUU UUUUUUU

___0__

r,

.Q

CC

Go

0

O

a

JD

O"

L

t_

U U

4-

xx

00

-g

L

Xx

E

UO

C C• W

UUUUOU

0_

___0___0 _

X0% O.

r, L

X 4-

C" E5_

C

4-O0

L

O

U

Q

0

LO t-

LO r

t'-- L _

i.-- 0 •__-Q.Uio (.- ._ L

X L t" _K:). _ L U¢-

X t" _ ("X _

_" O) O) O)

0

_ U IJU

4om

UUUUU

Xx

C LLXX

E

00

C C

UUUUUUU

__0__

W

LL

X

×

0

UUUUUUU

0

0_-0

L.C L

,.C _ .C

m

-O0

OL_-

L t- I"_UU

• _ f',

q- 4o 4_

C_C

_-CC

.FJ 4.J ._

UUU

0

(3. L

× _

0

C C

O0 UU UOU

@ >0

> _-0

fflc @t- _

_ L

0 _

'_" U U

ID

U

_0 __0

O_L

LU_

°00

OLL

_UU

-00_UU

._6_00_UU

U > 0

x CCC U mx .... _ _

U _ E

uuu _

UUUUU UUUUUUU

__0__

___0___0__

O_

ELO.

c-

O0O_

O_0oo

U

r_

___0___

E

L

UUUU

E

O.

xx

U0

U U U

P_

oom

L L u

u u-_o

L L f"

t'- r" _UU_

I1) 0 ._L 4o t'__- 13. W

L ,l-a .__,- O. O.

C¢"C

U(.)U

E

× q-

× _

C C

¢OUUUUUU

_0__

c

rt-

Go

0.,

O

r_

0

L L L t" LO0 L L

t- t- _ L L t- rUU U_U _ UU

000 LO - -00

L r._ _. c" LO0 L r..

UUU_U_ UU

_'_ 0"_ O U_

r r 0 _'0"_ ×.0

E 1_ _- C _ _____

ecoc_ - -xd

c" E'O.w L C ,.,'.X__ _'

X C CC Cr C CC_ D

'_'_'4"4"_4-' '_'_"_'_"I'_"I-__-' X 4--

E

_ o o.o o o o o o u n __L L

_ r r

U UU U O UU OO UU UUU

___0___0_

0

L

O__UL_

UO

"0

OL

L_mU

U_

>>

E _ X __ x

0

L L

UUUUUUU UUUUUUU

___0__

C_

UE

c

Oo°

U

UE

4o

q-

E

,ha

U U U U

UE U

E "_

x _

0

L

C C

UUUUUUUUUU

Ul _D t'- _0 _0_

___0___0_

Q.

u,.4-0

c

0°.

0

D

__0___0_

0X 0× ×

L

_ _ C C

UUOOUUUUOUUUUU

___0_

O)

cc

_)oOO_

O_0oo

tO9-

UO)Q

0 0 .-, 0","--'-" 0 ,-' 0L L _ L,w.

U U..C U c

O0 - - -

000

_r"LLL

_ u'J._ N N

I_ >, _, >, U UI/) I/J I/) I/) I/) I/)

_- x C cC C C u) D

',m "_ 0° __®

4.-, _ UUUUU _ 4-L L

UUUUUUU UUUUUUU

___0___

___0___0___

$L

?-U

0

L

t)

e->

0%

O.

>CC

O_0

U

a

>

i,h.

4,-,In

U CI

4-1C>xx

U0

qr

,4o

UUU

>

U

>>X _

O0

C C

UUUUUU

0__

CO

U L OL m ¢-E U _ O 13

13 0 _ L 3

° E U _ L "0

0 C

4-' _t "0 0 _ U _'Oq-_ > L 0 "0 C N L

E 0 (_ ¢- _ _- __ (_ _- ,_ _ _" i/)(o _ c- _ E _ O _) c- L (- EO r_L ¢" O._ t- __

• L r L t- f" L _) (" L "_ (D /_ L L ¢" L E ¢- L _) t- L.O ¢" L t- L 4_ c" L ¢- L I_

0 t-- "_ L II 4_ _ -I-' ,_. II _ _,. II (_ 4-_ _. _ ,_. II '_ ._ 4-_ £.. I_ ,I-' _ II 4-' c il +" _-

E _)'0 m "O > 0 "0 0 _.. L c" _ _ >, "0L1D_ _ O O_ OO _ E C m _ _ 3

L ¢'O O O OO OO O U O O O O O

U U

L0U

L

L

00"0t'.-

U r _

U

"0"0

EE

E

t_ _, ('N._

CL _ • •0 L O.L_ 4-' >,U

2L

r'-U¢0

"OL0

4-,' _ E

n • O_D _- 0

O.

li ¢. _" (.} 00"0i_ 0 II 0 I,

@'00 "0 _I.-"_D_ mDUU_O

"0 -_ O. '0 "--, O. _.,-., C_m_ mm 0

.E L .L L..C L (" {.._

D_E'D _ D_E_- _E

•_ _. Ii (_ .I_ L ii 4=, _. iiC_ .E C _ C _

"DO II >30 m 3.C_ 4:: .C

O U U U

60IILe>

Le4:>.._34:: _.

eL ._eO_Ee._ LC

13C

tN

tPGO

@

"0O.

G)t_

D.

u,.

_3

0

tDcOO_

O_

Z_o.r,

0 ._- e,ICN Ol q_l

NN

IXOIX,, "C Un 0.0.

G) G)@CC C

tO _ LO (,p

•-J U I-- u_

3n, _- 0

rCC t-

@

0

_m_mmzzo

cccc_c_c

0o.to

0@0

0__

E

r-

E

4_

[.13 O_@ C_

(II.D _I_- 0"O

f) O_o

c'4-_ L-I-'

_E

EQ.'OL

@ I0 "(3

c 00 33

l/) L

n _ 01.0 @

0 :3 _" --_

0 _o_3 _" .

OO O _

0 (/) _) L N N L_

c O.L _) O.L E O.L'O

O L4_ L Laea L L+a _)

O_E O _E O_E

II 'I-'[..II "I_ _.. _ _"c- _ c- _ N r- _ N

• E cL L "(3

£. L@ 0 r'-

L _ f- (/)0 _ 10

r- L 0c. O _ U

_L P_c_l 0 P_c

II (1_ II _ _1 II 0N_) O_) . _

L L_ E _

_n.c o @ C _ _- O O c E

c- _)r- £2 _ r-D.L&_ Q.L 4a _.Lo D.L_

_) E 0J r a) E @_L4_ _ L4_ _ L4_ _ L4_+a

O_E O_E I/) O1E O_E + a

f..- "I=; _= 11 4"_ [. 4=_ _. II

r- _ "(3 Lr- t- _- c-

Q. o _ 0. O.

o o o o U

• 0_ _ O. _._._O._O O O O0

O O

II II n II Ii

en

EL

n

O.

_0co

0

I=-

Ud)G_

O).X0

O.

0

lZ@a

0

U

L _ q-o _- - d

® - ,,- _ -- o o4-' u,. _ _ 0 t'- 0

= ^ _® _ _ o_i -_ _L C,,I IW _'0 _" > I,n ¢Da, ' I"- _f.. L iq I_ II "_ II _ li li "_ li (_ II >

E O _) (/) L 4a O L 4_ _ L +a O L a_a (/) L 4_ O L ae_ f_ L 4_ O

c O.U _ _D_E 0) O_E'_ _E _) _E'_ _E ® _E _ _E _)

O _.E O. +a L 4-' L 4_ L 4_ L 4_ L a_ L +a Lf... L. II C • li (=" (_ II (" (_ ii f- (_ il _" _ |I {" (_ II C" _ II

eeoc.= z: ._ 4. _ _ m m

• _0._ _ _ _ _ In _ 0 0

_nOOO O U O O O O O2£n_

O O

q.

LO4_U0)

L4-,

II > II

In4-'

O L L L

L .I-o ffl L 4o

OIE_ OIE

,i,-° L 4-' L

L

U "Or"

L0

U

>

0

Z _

ffl _t..

4o t,,- _ CI1 00,,--E_

L C _

0 _.E Q) O)L _O')E

E r.. II C_

LQ.__+'*0D._ I/)

_ I/'J Uq.

uu _

a)ol

Q.

b_)(J(..)boN

EaO L

nL

,_" 1D0 r"

U

a

APPENDIX III

SUBROUTINE NANUALS

III-i

APPENDIX III SUBROUTINE MANUALS

This appendix provides manual entries for each subroutine file in the RELBET

System. These serve as a quick reference _o the subroutine function

descriptions and provide definitions of the calling arguments used. The

manual entries are organized according to the directory names of the

associated code.

The entries follow a format standard to UNIX. As appropriate, they contain

the following sections.

NAil: Names of all externally accessible identifiers followed by a briefdescription of the package.

SYNOPSIS: A quick summary of how to invoke the relevant functions andparameters. Includes types and arguments.

DESCRIPTION: A functiona] description of what the functions do and whatthe options are

OPTIONS: Description of the options when they are suitable for inclusionin the DESCRIPTION.

FILES: The files are used or assumed by the application.

EXAMPLE: Annotated examples of how to use the application.

COI_ENTS: Miscellaneous coments. For example, rationales for thedesign or functions may appear here.

BUGS: Known problems.

DIAGNOSTICS: Warning and error messages, debug options.

SEE ALSO: References to related applications.

AUTHOR: The name of the responsible programmer.

III-1

ROUTINE CROSS REFERENCE

NAME FILE DIRECTORY

Add_GNList

BaseCalTime

BaseTime

Begin

CurSysTime

End

Error_Count

File

FileBaseTime

Frame3

GBeginTime

GDelTime

GEndTime

GMTday

GMTsec

GNLgetName

GetCurTime

HBtoHS

HStoHB

Help

db BaseTime

LBeginTime

LDelTime

LEndTime

MakeTimeLine

Make GNLIST

NTBLCK

,NTCLOSE

NTEOF

NTFILE

NTOPEN

,NTREAD

NTRITE

iNTRW

"gnam I ist.c"

"BaseT ime. ¢"

"fileio.c"

"search. c"

"syst ime. c"

"search. c"

"S t at_msg, c"

"search. c"

"gbhead. c"

"f rame3d, c"

"BaseT i me. c"

"BaseT me.c"

"BaseT i me. c"

"syst ime.c"

"syst ime. c"

"gnaml st. c"

"syst ime. c"

"gbHBuf Move. c"

"gbHBufMove. c"

"search. c"

"BaseT me. C"

"BaseT me.c"

"BaseT me. c"

"BaseT ime. c"

"timel nes. c"

"gnaml st.c"

"nt ran c"

"ntran c"

"ntran c"

"ntran C"

"ntran c"

"ntran c"

"ntran C"

"ntran c"

Message

Time

Gbfile

Fman

Time

Fman

Message

Fman

Gbfile

Coordinate

Time

Time

Time

Time

Time

Message

Time

Gbfile

Gbfile

Fman

Time

Time

Time

Time

Message

Message

Product

Product

Product

Product

Product

Product

Product

Product

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

NTRWRL "ntran.c" Product

Prime id "search.c" Fman

Radius "search.c" Fman

Save Str_Buf "str store.c" Message

Second id "search.c" Fman

StatErrExit "stat_msg.c" Message

Stat Msg "stat_msg.c" Message

Time "search.c" Fman

UNVOUT "unvout.c" Mktape

UVW Cart "uvw.c" Coordinate

Warning_Count "stat_msg.c" Message

a121q "aijkq.b" Coordinate

a123q "aijkq.b" Coordinate

a131q "aijkq.b" Coordinate

a132q "aijkq.b" Coordinate

a212q "aijkq.b" Coordinate

a213q "aijkq.b" Coordinate

a231q "aijkq.b" Coordinate

a232q "aijkq b" Coordinate

a312q "aijkq.b" Coordinate

a313q "aijkq.b" Coordinate

a321q "aijkq.b" Coordinate

a323q "aijkq.b" Coordinate

a32t36 "a32t36.b" Product

• cnvrt "acnvrt.b" Math

adbl2i "acnvrt.b" Math

addANLitem "anlists.c" Message

addefile "stat_msg.o" Message

addptr "ptrlists.c" Message

aero "aero.b" Force

aerror "ingrss.b" Message

ai2dbl "aonvrt.b" Math

ai2rl "acnvrt.b" Math

aijkq "aijkq.b" Coordinate

amenu "amenu.b" Prompts

ROUTINECROSSREFERENCE(cont'd)

NAME FILE DIRECTORY

ang2 "ang2.b" Math

angle_rate "qaatt.c" Fman

append "lists.c" Lists

arctan "arctan.b" Math

arl2i "acnvrt.b" Math

arshft "arshft.b" Math

ascale "ascale.b" Plot

automx "automx.b" Plot

awarn "ingrss.b" Message

berrop "stat_msg.c" Message

binop "linput.c" Linput

bldout "getout.b" Downfor

bsearch_timeline "timelines.c" Message

bwarn "stat_msg.c" Message

c2shl "c2shl.b" Coordinate

car "lists.c" Lists

cart "cart.b" Coordinate

cbody "cbody.b" Force

chugs "xcoas.b" Obs

cdr "lists.c" Lists

cdrag "cdrag.b" Force

cdtojd "cmpdat.b" Time

center "center.b" Files

char2i "arshft.b" Math

cinit "xcoas.b" Obs

clas "clas.b" Coordinate

clsfil "obtfil.b" Downfor

clsout "getout.b" Downfor

cmp2sg "cmp2sg.c" Fman

cmpdat "cmpdat.b" Time

cmvbit "cmvbit.b" Product

coash "xcoas.b" Obs

coasv "xcoas.b" Obs

combine "obsnois.c" Fman

comptw "comptw.b" Product

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

cons "lists.c" Lists

constm "constm.b" Celestial

cover file "qacover.c" Fman

,cros "mx3ops.b" Math

ctio "tio.b" Prompts

cvprop "cvprop.b" Filter

Icyldr "cyldr.b" Force

datime "datime.b" Message

days "days.b" Time

days "timedate.c" Time

dayslbc "timedate.c" Time

daysxx "_aysxx.b" Time

dbl2i "arshft.b" Math

dbshft "arshft.b" Math

dciph "_ciph.b" Prompts

Idciphr "dciphr.b" Prompts

ectprt "dctprt.b" Gff

ddna "ddna.b" Noisana]

ddnois "ddnois.b" Noisanal

delout "getout.b" Downfor

dfdata "dfdata.b" Downfor

dfnput "dfnput.b" Downfor

dhms "dhms.b" Time

div "linput.c" Linput

dkal "dkal.b" Filter

_number "lists.c" Lists

Jollar "dollar.b" Charutil

dpfmt "dpfmt.b" Qatape

Jplot "dplot.b" Plot

Jprod "dprod.b" Product

Jprop "dprop.b" Propagate

_rpst "drpst.b" Fman

_smth "dsmth.b" Filter

Jspxq "dspxq.b" Numdis

Jtio "tio.b" Prompts

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

dvalue

dvdt

dwnfmt

dxcmp

dxqdsp

dxset

eb2asc

edit frame

egrss

eph2_in

eph2re]

eq

err code

err_hpcode

etsec

euler

fetchbits

fgbprt

fi]e2io

file_size

fileinfo io

fileio

fprtCurTime

fprtFinish

fprtStars

fprtTimeLine

fprtarray

fprtctime

fprtdate

fprtgnlist

fprthms

fprtsec

freeGBF

freeplist

fskip_lines

lists.c" Lists

"dvdt.b" Propagate

"dwnfmt.b" Downfor

dxcmp.b" Numdis

dxqdsp.b" Numdis

dxset.b" Product

"eb2asc,c" Downfor

"filedit.c" Fman

"ingrss.b" Message

"mkinit.c" Fman

"eph2re].c" Fman

"lists.c" Lists

"stat_msg.c" Message

"stat_msg.c" Message

"timedate.c" Time

"euler.b" Coordinate

"ibmcvt.c" Downfor

"gbprtd.c" Gbfile

"file2io.c" Gbfile

"sln2r].c" Fman

"fileinfo io.c" Gbfile

"fileio.c" Gbfile

"systime.c" Time

"stat_msg.c" Message

"prt_uti].c" Message

"timelines.c" Message

"prtarray.c" Math

"timeprint.c" Time

"timeprint.c" Time

"gnamlist.c" Message

"timeprint.c" Time

"timeprint.c" Time

"gbopen.c" Gbfile

"ptrlists.c" Message

"prt_util.c" Message

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

fvalue "lists.c" Lists

gbclose "gbopen.c" Gbfile

gbdPead "gbio.c" Gbfile

gbdwPite "gbio.c" Gbfile

gbfcls "gbfio.c" Gbfile

gbfcom "gbfcom.c" Fman

gbfdfc "gbfio.c" Gbfi]e

gbfnew "gbfio.c" Gbfile

:gbfopn "gbfio.c" Gbfile

gbfops "gbfio.c" Gbfile

gbfphead "gbpPtd.c" Gbfile

gbfree "gbopen.c" Gbfi|e

gbfwPt "gbfio.c" Gbfile

gbnew "gbopen.c" Gbfile

gbopen "gbopen.c" Gbfile

gbphead "gbpPtd.c" Gbfile

gbpo8 "gbio.c" Gbfile

gbread "gbio.c" Gbfile

gbrhead "gbhead.c" Gbfile

gbtime "gbtime.c" Gbfi|e

gbtoff "gbhead.c" Gbfile

gbwhead "gbhea_.c" Gbfile

gbwPite "gbio.c" Gbfile

gdisp "gdisp.b" Numdis

gdspop "gdspop.b" Numdis

genout "genout.b" Downfor

gerroP "iegrss.b" Message

iget "get.b" Files

get next frame "file2io.c" Gbfile

get_rate table value "ratetable.c" Message

getangle "qastar.c" Fman

aetbit "getbit.b" Oatape

aetbits "eb2asc.c" DownfoP

aetbits "unvout.c" Mktape

)etdat "getdat.b" Downfor

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

gethdr

getin

germ

getnxt

getout

getrnp

getspg

gfcls

gfdict

gfemsg

gfend

gff_in

gffdsp

gfnew

gfopen

gfread

gfrhdr

gftime

gftims

gfwhdr

gfwrit

gmenu

gndsp

grfnpt

gsempty

gsfree

gspeek

gspoke

gspop

gspush

gwarn

harm

hdrprt

hms2ds

hms2sec

"gethdr.b"

"initlinput.c"

"getm.b"

"getnxt.b"

"getout.b"

"getrnp.b"

"getspg.b"

"gfcl S. b"

"gfd ict. b"

"gfemsg. b"

"gfend. b"

"filedit.c"

"gffdsp.b"

"gfnew.b"

"gfopen.b"

"gfread b"

"gfrhdr b"

"gftime b"

"gftims b"

"gfwhdr b"

gfwrit b"

qxmenu b"

gndsp.b"

"pltnpt b"

"gstack c"

"gstack c"

"gstack c"

"gstack c"

"gstack c"

"gstack.c"

"iegrss.b"

"harm.b"

"hdrprt.b"

"hms2ds.b"

"timedate.c"

Downfor

Linput

Force

Filter

Downfor

Celestial

Product

Gff

Gff

Gff

Gff

Fman

Gff

Gff

Gff

Gff

Gff

Gff

Gff

Gff

Gff

Prompts

Numdis

Plot

Stacks

Stacks

Stacks

Stacks

Stacks

Stacks

Message

2orce

Gff

Time

Time

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

hptou5

i2char

i2dbl

i2real

ibmcvt

ibshft

icshft

ident

ident3

iegrss

imatQ

imatq

imove

imzero

infmt

ingrss

initin

inumber

invrs

iopprt

ioschk

irot

isatom

isdnumber

isearch timeline

isfunction

lisinumber

issymbol

itio

ivalue

,ivshft

livzero

r!ixatm

ixbias

ixcon

"hptouS.b"

"arshft.b"

"arshft.b"

"arshft.b"

"ibmcvt.c"

"arshft.b"

"ioshft.b"

"mxops.b"

"mx3ops.b"

"iegrss.b"

"qnops.c"

"qtnops. b"

" imove. b"

"mxops. b"

"infmt.b"

ingrss.b"

initlinput.c"

lists.c"

invrs.r"

iopprt.b"

ioschk.b"

"qtnops,b"

"lists.c"

"lists.c"

"timelines.c"

"lists.c"

"l i sts. c"

"1 ists.c"

"tio.b"

"lists.o"

"arshft.b"

"arshft.b"

"ixatm.b"

"ixbias.b"

"ixcon.b"

Product

Math

Math

Math

Downfor

Math

Gff

Math

Math

Message

Math

Math

Qatape

Math

Oatape

Message

Linput

Lists

RELBET/Filter

Gff

Message

Math

Lists

Lists

Message

Lists

Lists

Lists

Prompts

Lists

Math

Math

Input

Input

Input

ROUTINECROSSREFERENCE(coni'd)

NAME FILE DIRECTORY

ixdata

ixdprmixerth

ixfile

ixgnrlixgraf

ixgravixinitixkal

ixmasixmax

ixmisc

ixmoon

ixnflz

ixprnt

ixprop

ixqcrv

ixqgen

ixqprm

ixrpst

ixscov

ixsen

ixsprm

ixsptm

ixsun

ixsvbi

ixtime

ixtoff

ixusys

ixvcx

ixvnt

j2c

j2ymd

jdtocd

jmpcomp

"ixdata.b"

"ixdprm.b"

"ixerth.b"

"ixfile.b"

"ixgnrl.b"

"ixgraf.b"

"ixgrav.b"

"ixinit.b"

"ixkal.b"

"ixmas.b"

"ixmax.b"

"ixmisc.b

"ixmoon.b

"ixnflz.b

"ixprnt.b

"ixprop.b

ixqcrv.b

ixqgen.b"

ixqprm.b"

ixrpst.b"

ixscov.b"

ixsen._"

ixsprm.b"

ixsptm.b"

ixsun.b"

ixsvbi.b"

ixtime.b"

ixtofi .b"

ixusys.b"

ixvcx.b"

ixvnt.b"

"j2c.b"

"j2ymd.b"

"cmpdat.b"

"qaranjmp.c"

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

Input

In )ut

In )ut

In )ut

In )ut

In )ut

In)ut

In)ut

Input

Input

Input

Input

Input

Input

Input

Time

Time

Time

Fman

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

ju12cal

juldate

jultime

kalman

krelo

kreloc

lax

length

lgfac

Igint

linit

linput

lint

lintin

:locate

ilrntrp

llrntrp

Isearch timeline

Ismin

1st

lstfnd

m2qsub

main

main

main

main

main

main

main

main

E

main

main

!main

main

main

"timedate.c"

"time,ate.c"

"timedate.c"

"kal man. b"

"krel o. b"

"krelo.b"

"lax. D"

lists.c"

lgint.b"

lgint .b"

lists.c"

linput.c"

lint.b"

lintin.b"

lists.c"

1 rntrp, b"

"relntrp.c"

"timelines.c"

"I smin. O"

"lst.b"

" 1 st fnd. b"

"m2qsub.b"

"cmp2sg.c"

"eph2rel.c"

"fiche.c"

"filedit.c"

"gbfcom.c"

"mkinit.c"

"obsnois.c"

"qaatt.c"

"qacover.c"

"qanois,c"

"qaranjmp.c"

"qastar.c"

"qasv.c"

Time

Time

Time

Filter

Filter

Filter

Coordinate

Lists

Numdis

Numdis

Lists

Linput

Interpolate

Interpolate

Lists

Interpolate

Interpolate

Message

Math

Coordinate

Charutil

Math

Fman

Fman

Fich

Fman

Fman

Fman

Fman

Fman

Fman

Fman

Fman

Fman

Fman

ROUTINECROSSREFERENCE(cont'd)

NAME FILE DIRECTORY

main

main

main

main

main

main

main

makeDate

makeGBData

makeGBF

makeHMS

makeTime

make gstack

makeplist

match

matq

matq

member

mkinit

mktape

mmxchk

mnthnum

moonup

moopos

msgdsp

mshft3

mshift

mt

mtran

mtran3

mtxm

mtxm3

ml:xv

mtxv

mtxv3

"rdwt.c" Fman

"read_set.c" Fman

"read sit.c" Fman

rlvsrl.c" Fman

search.c" Fman

sln2rl.c" Fman

stop.c" Fman

timemake.c" Time

gbmake.c" Gbfile

gbmake.c" Gbfile

timemake.c" Time

timemake.c" Time

"gstack.c" Stacks

"ptrlists.c" Message

"match.b" Downfor

"qnops.c" Math

"qtnops.b" Math

"lists.c" Lists

"mkinit.c" Fman

"mktape.b" Mktape

"mmxchk.b" Plot

"timedate.c" Time

"moopos.b" Celestial

"moopos.b" Celestial

"msgdsp.b" Message

"mx3ops.b" Math

"mxops.b" Math

"matrix.c" Math

"mxops.b" Math

"mx3ops.b" Math

"matrix.c" Math

"mx3ops.b" Math

"matrix.c" Math

"mxops.b" Math

"mx3ops.b" - Math

ROUTINE CROSS REFERENCE (cont'_)

NAME FILE DIRECTORY

mult

mvmul

mvmu13

mx3ops

mxadd

mxm

mxmc

mxmt

mxmt3

mxmul

mxmul3

mxops

mxv

mzero

mzero3

ndfnit

ndfnpt

ndhead

ndnflz

ndpage

newGBF

newoell

newcell

newpg

ngrss

nil

nitout

nkal

nlist

nnois

normq

nplot

nprod

nprop

nrmlzq

"linput.o" Linput

"mxops.b" Math

"mx3ops. D" Math

"mx3ops.b" Math

"mxops.b" Math

"matrix.c" Math

"matrix.c" Math

"matrix.c" Math

"mx3ops. D" Math

"mxops.b" Math

"mx3ops._" Math

"mxops.b" Math

"matrix.c" Math

"mxops.b" Math

"mx3ops.b" Math

"ndnflz.b" Dsputil

"ndnflz.b" Dsputil

"ndhead.b" Dsputil

"ndnflz.b" Dsputil

"nOpage.b" Dsputil

"gbhead.c" Gbfile

"linput.c" Linpu:

"newcell.c" Linpu-:

"msgdsp.b" Messa£'e

"ingrss.b" Messag_

"lists.c" Lists

"getout.b" Downeor

"nkal.b" Filter

"linput.c" Linput

"nnois.b" Noisanal

"qnops.c" Math

"nplot.b" Plot

"nprod.b" Product

"nprop.b" Propagate

"nrmlzq.b" Math

C

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

nrpst "nrpst.b" Fman

nsmth "nsmth.b" Filter

nstrng "nstrng.b" Charutil

nxcmp "nxcmp.b" Numdis

nxqdsp "nxqdsp.b" Numdis

nxtnd "nxtnd.b" Dsputil

nxtnd "nxtnd.b" Product

obcls "obout.b" Filter

oboode "obcode.b" Obs

obest "obest.b" Filter

obout "obout.b" Filter

obread "obread,b" Files

obtfil "obtfil.b" Downfor

obwrit "obwrit.b" Files

opnout "getout.b" Downfor

opnprp "opnprp.b" Propagate

out bias "sln2rl.c" Fman

out coy "sln2rl.c" Fman

out tel "sln2rl.c" Fman

pchrat "xradar.b" Obs

pcpt "pcpt.P" Filter

pdsp "tpdsp.b" Message

pitch "xradar.b" Obs

plotx "plotx.b" Plot

pltnpt "pltnpt.b" Plot

pmenu "qxmenu.b" Prompts

pred "pred.b" Filter

printrecord "read_set.c" Fman

print_record "read_sit.c" Fman

prodx "prodx.b" Product

prpnpt "prpnpt.b" Propagate

prt3mat "prtarray.c" Math

prt3tmat "prtarray.c" Math

prt3vec "prtarray.c" Math

prtANList "anlists.c" Message

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

prtANLitem "anlists.c" Message

prtCurTime "systime.o" Time

prtFinish "stat_msg.c" Message

prtStars "prt_util.c" Message

prtarray "prtarray,c" Math

prtctime "timeprint.c" Time

prtdate "timeprint.c" Time

prthms "timeprint.c" Time

prtin "prt_input.c" Linput

prtseo "timeprint.o" Time

pscls "psout.b" Filter

psout "psout.b" Fi]ter

pstrz "tpdsp.b" Message

ptbl "ptbl.b" Filter

putT2 "unvout.c" Mktape

putchr "unvout.c" Mktape

putexp "putexp.c" Lists

pwr "linput.c" Linput

q121a "qijka.b" Coordinate

q123a "qijka.b" Coordinate

q131a "qijka.b" Coordinate

q132a 'qijka.b" Coordinate

q212a 'qijka.b" Coordinate

q213a 'qijka.b" Coordinate

q231a "qijka.b" Coordinate

q232a "qijka.b" Coordinate

q2Crv "q2crvz.b" Plot

q2CrVZ "q2crvz.b" Plot

q2draw "q2draw.b" Plot

q2ecrv "q2crvz.b" Plot

q2fnsh "q2grph.b" Plot

q2grph "q2grph.b" Plot

q21egn "q2crvz.b" Plot

q2lsto "q2crvz.b" Plot

q2msub "q2msub.b" Math

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

q312a

q313a

q321a

q323a

q_pop

q_push

qanois

qatape

qcxq

qcxq

qdevin

qdevrl

qdot

qijka

qintp

qintrp

qpintx

qplot

qplt2d

qpxget

qrlptn

qrot

qslptn

qtnops

qtoim

qtom

qvirot

qvrot

qwntrp

qxmenu

qxq

qxq

qxqc

qxqc

qxstuf

"qijka.b" Coordinate

"qijka.b" Coordinate

"qijka.b" Coordinate

"qijka.b" Coordinate

"gstack.c" Stacks

"gstack.o" Stacks

"qanois.c" Fman

"qatape.b" Oatape

"qnops.c" Math

"qtnops.b" Math

"qdevin.b" Plot

"qdevin.b" Plot

"qnops.c" Math

"qijka.b" Coordinate

"qnops.c" Math

"qintrp.b" Interpolate

"qpintx.b" Plot

"qplot.b" Plot

"qplt2d.b" Plot

"qpxget.b" Plot

"qslptn.b" Plot

"qrot.b" Math

"qslptn.b" Plot

"qtnops.b" Math

"qtnops.b" Math

"qtnops.b" Math

"qnops.c" Math

"qnops.c" Math

"qwntrp.b" Interpolate

"qxmenu.b" Prompts

"qnops.c" Math

qtnops.b" Math

"qnops.c" Math

qtnops.b" Math

qxstuf.b" Charutil

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

qxvalu

range

ranrat

read_set

read_sit

rea12i

ref in

rel in

rl2beg

rl2end

rlback

rlbwds

rlcls

rlcntr

rldsp

rledit

rlfill

rlfrnt

rlfwds

rlhdsp

rlmidl

r'lnew

rlntrp

rlopen

r pdsp

r_readIrltime

rlvsrl

_rlwrit

rrmefile

irmptrI

Irmxm

rmxmc

rmxv

rmzero

"qxvalu.b"

"xradar.b"

"xradar.b"

"read set.c"

"read sit.c"

"arshft.b"

"filedit.c"

"mkinit.c"

"rlfill.b"

"rlfill.b"

rlfill.b"

rledit.b"

rlcls.b"

rlcntr.b"

rldsp.b"

rledit.b"

rlfill.b"

"rlfill.b"

"rledit,b"

"rldsp.b"

"rlmidl .b"

"r lnew. b"

"rlntrp.b"

"r I open. b"

"rldsp.b"

"rlread.b"

"rltime.b"

"rlvsrl.c"

"rlwrit.b"

"stat_msg.c"

"ptrlists.c"

"rmatrix.c"

"rmatrix.c"

"rmatrix.c"

"mxops.b"

Charutil

Obs

Obs

Fman

Fman

Math

Fman

Fman

Files

Files

Files

Files

Files

Files

Files

Files

Files

Files

Files

Files

Files

Files

Interpolate

Files

Files

Files

Files

Fman

Files

Message

Message

Math

Math

Math

Math

OF PO0.'4 _-!.i/: :

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

roll "xradar.b" Obs

rolrat "xradar.b" Obs

rot "qtnops.b" Math

rotate "rotate.b" Celestial

rptost "rptost.b" Fman

rrrfile "qaranjmp.o" Fman

rst "rst.b" Coordinate

rtangl "rtangl.b" Obs

rtio "tio.b" Prompts

rtntrp "relntrp.c" Interpolate

rtntrp "rtntrp.b" Interpolate

runkut "runkut.b" Propagate

rvprop "rvprop.b" Propagate

rvshft "arshft,b" Math

rvup "rvup.b" Propagate

rvzero "arshft.b" Math

sclset "sclset.b" Plot

s_arch "search.c" Fman

seo2hms "timedate.c" Time

secnds "secnds.b" Time

sensed vel "qasv.c" Fman

setDate "timemake.c" Time

setHMS "timemake.c" Time

setMaxErr "stat_msg.c" Message

setTime "timemake.c" Time

setin "initlinput.c" Linput

setq "linput.c" Linput

sfilt "sfilt.b" Filter

sfinit "sfinit.b" Filter

sfout "sfout.b" Filter

sftrat "xradar.b" Obs

shaft "xradar.b" Obs

shoxq "dspxq.b" Numdis

sign "sign.o" Math

skip_lines "prt_util.c" Message

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

smmul3 "mx3ops.b" Math

smooth "smooth.r" Filter

snoise "snoise.b" Filter

solrad "solrad.b" Force

spfmt "spfmt.b" Qatape

sphdr "sphdr.b" Product

sprtctime "timeprint.c" Time

sprtdate "timeprlnt.c" Time

sprthms "timeprint.c" Time

sprtsec "timeprint.c" Time

star_track "qastar.c" Fman

starz "msgdsp.b" Message

std_time "timedate.c" Time

stinit "xtrack.b" Obs

stm "stm.b" Filter

,stmrv "stmrv.b" Filter

stop "stop.c" Fman

stprop "stprop.b" Filter

strsave "strsave.c" Lists

strstore "strstore.c" Lists

sub "linput.c" Linput

sum "linput.c" Linput

sunpos "sunpos.b" Celestial

sunup "sunpos.b" Celestial

leuperg "superg.b" Propagate

svalue "lists.c" Lists

svelbs "svelbs.b" Force

Isvftch "svftch.b" Force

svmul "mxops.b" Math

svmul3 "mx3ops.b" Math

svntrp "svntrp.b" Interpolate

symbol "lists.c" Lists

!symxv "symxv.b" Math

tangle "tangle.b" Obs

l_aperd "taperd.c" Downfor

ROUTINE CROSS REFERENCE (cont'd)

NAMEFILE

DIRECTORY

,,tblchk.b" Produottblchk

,,tblook.b" ForcetbloOk

,'tpdsP.b" Messagetdsp

tenrnd ,,temrnd. D" Math

test_print ,,qastar. C" Fman

,,filedit.c" Fmantext_in

"tio.b" Promptstio

"tpdsp.b" Messagetpdsp

,'tpdsp.b" Messagetpstrz

,xtrack.b" ObstraCkh

,'xtrack.b" Obstrackv

,'xra_ar.b" Obstrnion

,,xradar.b" Obstrnrat

,,tstep.b" Propagatetstep

,'tpdsp.b" Messagetstrz

,,twobod.b" celestialtwobod

"uax.b" Coordinateuax

udpfmt ,,udpfmt.b" Product

.uinfmt. D" Productuinfmt

,,linput.c" Linputunop

,,uspfmt.D" Productuspfmt

"ust.b" coordinateust

usub ,,linput.C" Linput

,,uvw2m.b" Filteruvw2m

uvwlVh ,,uvw_Vh.b" coordinate

.uvwmat.b" coordinateuvwmat

"mxopS.b" Mathvadd

.vector. C" Mathvadd

.mx3Ops.b" Mathvadd3

.vector. C" Mathvaddto

,,va_dat.b" Downforvaldat

"vector.C" Mathvdist

,,mxops.b" Mathvdot

,'vector.C" Mathvdot

vdot3 ,,mx3ops.b" Math

ROUTINE CROSS REFERENCE (cont'd)

NAMEFILE DIRECTORY

ORIGINAL PAGE ES

OF POOR QUALITY

vfadd

vfaddtO

vfmul

vliSt

vlrest

vnorm

vnorm3

vntfch

vrS$

vrunit

vset

vshft3

vshift

vsub

vsUD

VSUb3

vunit

vunit3

vzerO

I/_=er°vzero3

I wndang

write_fi_e

wrtOut

xlDlnk

(blank

<cmpar

XCOaS

xdsp

:×dsp2

'LxfBdmP

xi2chr

_xnth

xqdatz

xqdsp

"vector.C" Math

,.vector.C" Math

"vector,C" Math

"linput.C" Linput

"vlrest,b" Filter

"mxopS.b" Math

,'mx3ops.b" Math

.vntfch.b" Force

"vector. C" Math

"vectOr • C" Math

"vector. c" Math

,,mx3Ops .b" Math

,,arshft.b" Math

,,m×ops.b" Math

,,vector.C" Math

,,mx3ops.b" Math

"mxops.b" Math

,,mx3opS.b" Math

,,arshft.b" Math

,,vector.C" Math

"mx3opS.D" Math

"wndang.b" Force

"rdwt.c" Fman

-getOut.b" Downfor

,,qxstuf.b" Charutil

"qxstUf.b" Charutil

.xcmpar.b" Numdis

,'xcoaS.b" ODs

"msgdsp.b" Message

"msgdsp.b" Message

,,xf8dmp.b" Dsputil

,,xi2chr.D" Charuti]

,,×nth.b" Charutil

,,xqwtmz.b" Prompts

,,xqdsP.b" Numdis

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

xqdspl

xqdsph

xqkmpl

xqkmp2

xqkmpt

xqtime

xqwget

xqwint

xqwtmz

xradar

xtrack

yesno

ymd2j

yyback

yybgin

yycrank

yyerror

yyestate

yyextra

yyfnd

yyin

yyinput

yyleng

yylex

yylineno

yylook

yylsp

yylstate

yymatch

yymorfg

yyolsp

yyout

yyoutput

yyprevious

yysbuf

"dspxq. b"

"dspxq.b"

"xqkmpt. b"

"xqkmpt. b"

"xqkmpt. b"

"xqwtmz. b"

"xqwget. b"

"xqwget. b"

"xqwtmz. b"

"xradar. b"

"xt rack. b"

"yesno. b"

"ymd2 j . b "

lex. C"

lex. c"

le x. C"

i npu t. c"

1ex. C "

Iex C"

lex c"

lex C"

1ex c"

lex c"

Iex c"

lex c"

lex c"

" l ex c"

"lex c"

" I ex c"

" 'ex C"

" 'ex C"

" ' ex C"

" ex C"

" ex C "

" ex. C "

Numdis

Numdis

Numdis

Numdis

Numdis

Prompts

Dsputil

Dsputil

Prompts

Obs

Obs

Prompts

Time

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Linput

Lin)ut

Lin)ut

Lin)ut

Lin)ut

Lin)ut

Lin)ut

Lin)ut

Lin)ut

ROUTINE CROSS REFERENCE (cont'd)

NAME FILE DIRECTORY

yysptr

yysvec

yytchar

yytext

yytop

yyunput

yyvstop

zutek

" I ex. c"

" lex.c:'

" I ex. c"

"1 ex. c"

"lex.c"

"I ex. c"

"I ex. c"

"zutek. b"

Linput

LinDut

Lin3ut

Lin3ut

Lin3ut

Lin3ut

Lin3ut

Force

TRWHoustonSystemServices 1 - (printed i2/18/86)

constm.b(3) (Celestial) constm.b(3)

NAME

constm

SYNOPSIS

subroutine constm (soia,to]d,snew,tnew,part)

double _recision so]_ (6)

aoubie precision toi_

aouPie precision snew (6)

_ouole precision tnew

aou#ie precision part (6,6)

DESCRIPTION

constm

Computes a state transition matrix using mean conic approximatioR.

sold

tolc

sne_

tnew

Dart

o)d state (input)

time of olo state input

new state (input)

time of new state input)

;a-t_al of nev., state w_tn respect tc new state (outDut_

TRW Houston System Services 1 - (printed 12/18/86)

getrnp.b(3) (Celestial) getrnp.b(3)

NAME

ge_np

SYNOPSIS

subroutine getrnp {Oate,aates,caetut,trnp,rnp,hangle)integer date (5)

double precision Cotes

double precision caetut (2)

double preo;sion trnp

double precision rnp (3,3)

double precision bangle

DESCRIPTION

getrnp

Computes rnp matrix at given calendar date.

date

_ates

cdetu_

trnp

rnp

year-month-day-hour-minute of Dose date (input)

seconds of base date (input)

ju! man ephermis to julian universal conversion constants (input)

time af_en base date (in seconds) for rnp matrix (incur)

rotation nutation precision matrix (output)

_qangle hour' angie [output)

TRW Houston System Services - 1 - (printed 12/18/86)

moopos.b(3) (Celestia]) moopos.b(3)

NAME

moopos, moonup

SYNOPSIS

subroutine moopos (t,r)

Ooubie precision t

doubie precision r (3

entry moonup

DESCRIPTION

moo_os

Computes the moon position by interpolation from the ephemeris file created

by moonup.

t current time (input)

r moor, position at current time (output)

moonu_

Creates moon ephemeris Dased om xxmoon parameters.

TRW Houston System Services 1 - (printed 12/18/86)

ORIGINAL PAG_ IS

POOR QUALITY

rotate.b(3) (Celestial) rotate.b(3)

NAME

rotate

SYNOPSIS

subroutine rotate (Dj_,deltat,cqetut,np,rnp,rascm)OOUDle precision b3_

qouble precision aeltat

aoubie precision cOetut (2)

CouPle precision np (3.3)

double orecision rnp (3,3)double precision rasom

DESCRIPTION

rotate

Analytically generates the true hour angle of greenwich, the precession,nutation, precession-nutation, and geographic transformation matrices for

the earth. All matrices are referenced to a base coordinate frame defined

by the mean equator and vernal equ_no× of the earth at the epoch 1950.0.

_eltat

cdetu=

mD

rnp

bjd = base julian date

oe!ta in hours from Dase julian date

ar_'ay of COnStants used in determiningephemeris time ano universal time

nutatior;-precesslo_ matt _>(

rctatlon-nut_tloR-precesslon matrix

tne difference #etween

rascm greenwich mear hour angle

TRW Houston System Services 1 (printed 12/18/86)

sunpos.b(3) (Celestial) sunpos.b(3)

NAME

sunpos, sunup

SYNOPSIS

subroutine sunpos (t,r}

_oubie precision t

ooubiE precision _ (S)

entry sunup

DESCRIPTION

sunpos

Computes the sun position by interpolation from the ephemeris {ile

by sunup.

t current time [input)

r sun pos_tio_ at current time (output)

sunup

Creates SUm ephemeris b_sed on xxsun paramesers.

created

TRW Houston System Services 1 - (printed 12/18/86)

twobod.b(3) (Celestial)

ORIGINAL PA_ '_

OF POOR QUALITY

twobod.b(3)

NAME

twobod

SYNOPSIS

subroutine twobo_ (mu,tau,x,y)

oouole precision mu

douDle precision _a_doubte precision x (6)

aouble precision y (6)

DESCRIPTION

twobod

Propagates a vector using Goodyear's two universal variable scheme.

mu gravitational parameter (input)

tau time step (input)

initial state (input)

final state (output)

TRW Houston System Services 1 (printed 12/18/86)

dollar.b(3) (Charutil) dollar.b(3)

NAME

dollar

SYNOPSIS

suorout_ne dollar ix,ix)

integer i>:

cr, aracter_l × (ix)

DESCRIPTION

dollar

Fills f_nal blank cflaracters of input string wit_ dollar signs. Inpu_ lx

is _nae× of character to start at, returns 1st nonDiank or non dollar signindex in 1×. Note that last characte _ is always a Oollar sign.

1x length of string (input/output)

character string (input/output)

TRW Houston System Services 1 (printed 12/18/86)

ORIGINAL PAG_ _

OF POOR QUALITY

lstfnd.b(3) (Charuti]) lstfnd.b(3)

NAME

lstfnd

SYNOPSIS

subroutine lstfnd (x.list.lx,ilist)

_nteger ilist

_ntege_ lxcharacter-1 x (lx_

chaPacter*l list (lx,i] ist)

D_SCRIPTION

lstfnd

Searches list for entry x. The searc_ begins at the end (entry i11st), andcontinues to the beginning. On return i_ist is thus the last index of the

list with the name x or else O, in which case there were no entries found.

il ist length of list on input, inOex of item on exit(input/output)

ix length of an entry in Dytes (input)

search item (input)

] 1St list to search (input)

TRW Houston System Services 1 - (printed 12/18/86)

nstrng.b(3) (Charuti]) nstrng.b(3)

NAME

nstrno

SYN0PSIS

subroutine nstrng (numDer0string)

integer number

character_7 strin_

DESCRIPTION

nstrngConverts an integer to a character string wi_h the orooer suffix.

number input integer

string output string

COMMENTS

The number is limltec oy 0 < numDer < 32687.

TRW Houston System Services 1 - (printed 12/18/86)

ORIQNAL p_,_ ...._-_'_4 i ¸ °_

OF POOR QUALITY

qxstuf.b(3) (Charutil) qxstuf.b(3)

NAME

qxstuf, xDlank, xlblnk

SYNOPSIS

subroutine qxstuf

integer l

¢haracter_1 p (!)

integer il

_1,p.il)

entry xblank (l,Di

entry xlblnk (!,p,il}

DESCRIPTION

qxstuf

Sets character array to blanks and finds first nonblank in string.

1

P

il

xb I a ni,,

ie_gtn of character strin 9

character s_r_ng to be blanke_

inaex to non blank

Sets clqarscte_ array to DlanKs.

xlblnk

Finos 1st non Dian< _n string.

TRW Houston System Services - 1 (printed 12/18/86)

qxvalu.b(3) (Cnarutil) qxvalu.b(3)

NAME

_xvalu

SYNOPSIS

suoroutine _xvaiu [1,p, il)

integer

character-_ _ (1_

integer ii

DESCRIPTION

axvalu

Conve_ts s_ring tc _mteger.

length o? character string (input)

chanacter string to be deciphemeo (input)

il inaex to non blank (output)

TRW Houston System Services 1 - (printed 12/18/86)

xi2c_r.b(3) Charutil)

oRIGINAL PAGE IS

OF POOR QUALITY

xi2chr.b(3)

NAME

xi2chr

SYNOPSISsubroutine xi2chr (1.p)

integer l

character-!2 p

DESCRIPTION

xi2chr

Converts integer to Character

length of character string [output)

character string to be blanked (input)

TRW Houston System Services - 1 - (printed 12/18/86)

xnth.b(3) (ChaPuti]) xnth.b(3)

NAME

xnt_

SYNOPSIS

subroutine xnth (_,ntm)

_nteger ic_aracte_2 nth

DESCRIPTION

xnth

Obtains 2 oharacter ordinal strin# from an integeP.

integer (_nout)

nth oPdinal stPimg (output)

TRW Houston System Services 1 - (printed 12/18/86)

oRIGINAL PAGE ISOF PoOR QUALITY

aijkq.b(3) (Coordinate) aijkq.b(3)

NAME

aijkq, a121q, a123q, a131q,a313q, a321q, a323q

a132q, a212q. a213q, a231q, a232q, a312q,

SYNOPSIS

subroutine aijkq (alpha,q)

_oubte precision alpha (3)

double #recision q (4_

entry a121q (alpha,q)

entry a123q (alpha,q)

entry a131q (alpha,q)

entry a132q (alpha,q)

entry a212q (alpha,q)

entry a213q (alpha,q)

entry a231q (alpha,q_

entry &232q (alpha.q)

entry a312q (alpha,q)

entry a313o (alpha,q}

entry a321q (alpha,q}

entry aS23q (alpha,Q}

DESCRIPTION

aijkq

Converts eu_er' ang)es To quaterniom elememts.

aipha eu]er angles in sequence.l:rol],2=pi_ch.3=yaw (input)

q quaternion elements generated from the eu)er sequence (output)

a121q

Performs a roll-pitch-roll to quaternion operation..

a123q

Performs a roll-pitch-yaw to quaternion operation,

a131q

Performs a roll-yaw-roll to quaternion operation.

a132q

Performs a roll-yaw-pitch to quaternion operation.

a212q

Performs a pitch-roll-pitch to quaternion operation.

a213q

Performs a pitch-roll-yaw to quaternion operation.

TRW Houston System Services 1 - (printed 12/18/86)

aijkq.b(3) (Coordinate) aijkq.b(3)

a231qPerformsa pitch-yaw-roll to Quaterniomoperation.

a232qPerformsa pitch-yaw-pitch to quaternion operation.

a312qPerformsa yaw-roll-D_tch to quaternion operation.

a313qPerformsa yaw-roll-yaw tel quaternion operation.

a321q

Performs a yaw-pitch-roll to quaternion operation.

a323q

Performs a yaw-pi_cm-yaw to quasermioR operation.

TRW Houston System Senvices 2 - (printed 12/18/86)

c2shl.b(3) (Coordinate)

ORIGINAL PAGE IS

OF POOR QUALITY

c2shl.b(3)

NAME

c2shl

SYNOPSIS

subroutine c2shl (×,y,s]double precision x (6)

double brecision y _6)double precision s 16)

DESCRIPTION

c2shl

Obtains modified shell coordinates frop. _wo Cartesian vectors.

reference vehicle state (input

target vehic]e state (input)

modifie_ stnell coordinates

(output)r, artier of x,y,z.xoot,yaot,zaot

TRW Houston System Services 1 - (printed 12/18/86)

cart.b(3) (Coordinate) cart.b(3)

NAME

cart

SYNOPSIS

subroutine cart (mu,c,x)

double precisior_ muaouble precision c [6)

aouble Drec_mion x (E)

DESCRIPTION

cart

Converts clas_cal elements to cartesian elements.

mu gravitational parameter (input)

c classical elements in following order

1 semimaoor axis or semilatus rectum (if parabolic)

2 eccentricity3 incl inetlom

4 ascending noae5 arguement of perigee

6 true anomaly [input)

× car_esiam bositlop and veioc]ty (output)

COMMENTS

if ecce;qtr_oity is one, the orm_t is assumec to me #araoolic ano the first

eiement _s treateo as the semilatus rectun: rat_er tna_ the semlmajor a×!s.

TRW Houston System Services 1 (printed 12/18/86)

clas.b(3) (Coordinate)

ORDINAL PAGE ISOF POOR QUALITY

clas.b(3)

NAMEclas

SYNOPSIS

subroutine clas (mu,x,c)

double preoisio_ mu

double precision c (6)

double precision x (6)

DESCRIPTION

clas

Converts cartesian elements into classical elements.

mu gravitational parameter (input)

classical elements in order:

1. semimajor axis Or semilatus rectum

2. eccentricity3. inclination

4. ascen_indlng node5. arguement of perigee

6. true anomaly (output)

car-cesiar_ state ( input':

TRW Houston System Services 1 (printed 12/18/86)

euler.b(3) (Coordinate) euler.b(3)

NAME

euler

SYNOPSIS

subroutine euler {Kop,n.atpha,q,rmat)

integer KoD

integer r

_ouble pmecision _ipn& (3)

double precision q (4)

double precision rmat (3,3)

DESCRIPTION

euler

Expresses e rotation as a sequence of euler angles, a set of quaternion

elements, and a set of transformation matrix elements. Given one of these,

euler generates tIRe other two. It must De told the input type and the

requ_re¢ euler angle sequence.

kop the input type ...

= euler angles

2 = quaternion

3 = transformatlon matrlx

tne eu]er seouence (three a_its), where ...

1 = _o!i

2 : p_tCr_

3 = ya_

e._. 132 =rol], yaw Dltcr,

alph_

rm_=

the euler angles which oescri_e the rotatlor,, they may be either

the input or an output.

the quaternion which aescribes the rotation.it may be either the

inDut or am output

the transfor.m&t_or matr._× which aescriDes tne rotation, it may be

eit_e _ the input or ar_ outDut.

TRW Houston System Services 1 - (printed 12/18/86)

ORIGINAL PAGE IS

OF POOR QUALITY

frame3d.c(3) (Coordinate) frame3d.c(3)

NAME

Frame3 - forms orthogana! frame from 3 Oimensiona] vectors x,y,z.

SYNOPSIS

lnt Frame3(frame.×.y)

double _frame,_x,_y;

DESCRIPTION

Frame3

forms orthogana] frame from 3 dimensional vectors x,y,z. The X axis !s

along x, the Z axis along x cross y and the Y completes the triad. A ! is

returnea if x anOy are not perpendicular and the frame is trivialized.

Else a 0 is returned. The axes vectors are stored in orOer X,Y.Z.Interpreted as a matrix stored by rows, the frame ts thus the

transformation that takes coordinates in the frame definimo t_e vectors xand y to the coorainates in the frame they de_ine.

TRW Houston System Services 1 (printed 12/18/86)

lax.b(3) (Coordinate) lax.b(3)

NAME

lax

SYNOPSIS

subroutine lax (s,m,omega)

double precision s (6)

double precisiom m (3,3)

aoubie precision omega (3)

DESCRIPTION

lax

Computes LVLH axes _ive_ e geocentric cartesian state as

s input state vector in geocentric cartesian coordinates

m rotation matrix. This rotates inertial to LVLH (output)

fowl : unit (V x R) × Z

row2 = Z x X

row3 = - unit (R)

omega velocity correction vector (Ve_ x Pos/(r x r))(output)

TRW Houston System Services 1 (printed 12/18/86)

]st.b(3) (Coordinate)

ORIGINAL PAGE I$

OF POOR QUALITY

]st.b(3)

SYNOPSIS

subroutine 1st (xi,xo,lm,omega}

aouble precision xi (6)

_ouble precision xo (6)

double precision ]m (3,3)

double precision omega (3)

DESCRIPTION

1st

Computes tvlh state giver inertial state anc inertial to lvlh matrix.

xi input inertial state

xo output tvlb state where

PosO = In • Posi

veto = i#,- (Yell • Posi × omega)

lm transformation matrix from inerti_l tc lvlh coordinates

omega veiocit_ correc_io_ vector (input)

TRW Houston System Services 1 - (printed 12/18/86)

qijka.b(3) (Coordinate) qijka.b(3)

NAME

qijka, a121a, q123a, q131a,

q313a, q321a, q323aa132a, g212a. q213a, q231a, q232a, q312a,

SYNOPSIS

subroutine qijka (q,aip_a)

double precision q (4)

double precision atpne (3]

entry q121a (q,alp_a)

entry q123a (q,alpha)

entry q131a (q,alpha)

entry q132a (q,alpha)

entry q212a (q,alDha)

entry q213& (q,alpha)

entry a231a (q,alona)

entry G232a (q.a)pna_

entry a312a [q,alpha_

entry a313a (q.aiphz _

entry q321a (q,a]pna)

entry O323a (q,a]pha)

DESCRIPTION

qi3ka

Converts quarern_or eieae_=s in_c euler ang]e e]ements.

q quaternion (lnbu_)

alplqa euler angies loutput) 1=ro]] ,2=p_tcn,3=yaw generatea

quaternion

q121a

Performs a ro]l-pitch-rol] operation.

from the

q123a

Performs a roll-pitch-yaw operation.

q131a

Performs a roll-ya_-rclq ooeration.

q132a

Performs a roll-yaw-pitch operation.

q212a

Performs a pitch-roll-pitch Operation.

q213a

Performs a pitch-roll-yaw operation.

TRW Houston System Services 1 - (printed 12/18/86)

ORIGINAL PAGE I_

OF POOR QUALITY

qijka.b(3) (Coordinate) qijka.m(3)

Q231a

Performs a pitch-yaw-roll operation.

q232a

Performs a pitch-yaw-pitch operation.

q312a

Performs a yaw-rol]-pitch oDeratiotq.

q313a

Performs a yaw-roll-yaw opera_ion.

q321a

Performs a yaw-pitch-roll operation.

q323a

Performs a yaw-pitch-yaw operation.

TRW Houston SystemServices - 2 - (printed 12/18/86)

rst.b(3) (Coordinate) rst.b(3)

NAMErst

SYNOPSISsubroutinerst (xl,x2,xb)doubleprecision xl (6)doubleprecision x2 (6Jooubleprecislomxb (24)

DESCRIPTIONrst

ComputesPelative sta_e_.xl state one (input)x2 state two (inbut.)

Outputbuffer is xl, xl-x2, x20x2-xl.

xb state buffer (output)

TRWHoustonSystemServices 1 - (printed 12/18/86)

uax.b(3) (Coordinate)

ORIGINAL PAGE IS

OF POOR QUALITY

uax.b(3)

NAME

uax

SYNOPSIS

subroutine uax (s,m)

double precision s (6)

double precision m (3,3)

DESCRIPTION

uax

Computes u,v,w axes, g_ven.a geocestric cartesian state.

s input state vector in geocentric cartesian coordinates

m rotation matrix. This rotates cartesis to UVW (output)rowl = unit (Pos)row2 = _ x U

row3 = uffit (Pos x Vel)

TRW Houston System Services 1 - (printed 12/18/86)

ust.b(3) (Coordinate) ust.b(3)

NAME

us_

SYNOPSIS

suDroutine ust (xi,xo,um)

OouP]e precision xi (6)

oou_te precision xo (6)

Ooub)e precision um (3,3)

DESCRIPTION

ust

Computes uvw state given relative

matrix,

xi inertial state (input)

xo uvw state (output)

um

inertial

transformation matrix from inertia]

state aria inertial to uvw

to uvw coordinates (input)

TRW Houston System Services 1 (printed 12/18/86)

OR!G!I',IALP:'_ IC

OF POOR QUALITY

uvw.c(3) (Coordinate) uvw.c(3)

NAME

UVW Cart - UVW coordinates

SYNOPSIS

oouble *UVW Cart(UVW.Xtrgt.Xbase )

double ,=UVW,*XtPgt,w:XPase;

DESCRIPTION

UVW Cart

R_turns pointer to UVW position and velocity cf target with respect to a

base state (position, velocity), tf UVW is null. a iocal Puffer is used

for the coordinates, otherwise the space indicated by UVW is used.

TRW Houston System Services 1 (printed 12/18/86)

uvwlvh.b(3) (Coordinate) uvwlvh.b(3)

NAME

uvwlvh

SYNDPSIS

subroutine uvwlvh (xu,w,xl)

double precision xu (6)

doubie pmecisior, w

double precision xl (6)

DESCRIPTIONuvwlvh

Computes lvlh coordinates from uv_ lNfo

xu uvw COOrdinates (input)

w angular rate of local vertical frame (input)

xl lvlh state (outDut)

TRW Houston System Services 1 - (printed 12/18/86)

ORIGINAL PAGE |S

OF POOR QUALITY

uvwmat.b(3) (Coordinate) uvwmat.b(3)

NAME

uvwmat

SYNOPSIS

suDroutine uvwmat (x,m,r,w)

OouDle precision x (6)

oouble precision m (3,3)

Oouble precision rOoumle precision w

DESCRIPTION

uvwmat

Computes uvw to inertial matrix.

x inertial state (input)

m uvw to inertial metmix (output)

coll: unit(Pos)

col2 = toll x co13

Co13 = unlt(Pos x V)

r radius of vehicle(input)

w an#ular rate of local vertical

(output)

_r_me norm( Pos x Vel )/(r • r")

TRW Houston System Services 1 (printed 12/18/86)

efdata.b(3) (Downfor) _fdata.b(3)

NAME

dfdata

SYNOPSIS

block aat_ dfaata

DESCRIPTION

_faa_a

Intializes common blocks.

TRW Houston System Services - 1 - (printed 12/18/86)

dfnput.b(3) (Downfor) dfnput.b(3)

NAME

dfnDut

SYNOPSIS

subroutine dfnput (status

integer status

DESCRIPTION

dfnput

processes the inputs

status the input process ng error flag

TRW Houston System Services 1 (printed 12/18/86)

dwnfmt.b(3) (Downfor) dwnfmt.b(3)

NAME

dwnfm_

SYNOPSIS

program awnfmt

DESCRIPTION

dwnfmt

Drives the eownlist processing.

awnfmt < Input file > Output_fiie

Fi]es BUGS and OUTPUT are also created at execution level

and aa_itional summary print.to contain debug

TRW Houston System Services - I (printed 12/18/86)

eb2asc.c(3) (Downfor) eb2asc.c(3)

NAMEeb2asc,getbits - routine to convert ebcdic to ascii

SYNOPSIS

eB2asc(strngl,strng2,m)

int _strngl;

int *strng2;int _m;

getbits(w,s,n)

int n;int s;

unsigned w;

DESCQIPTION

em2asc

routine to convert eDcdic to ascii

strngl string of characters to be convert

strng2 str_ng of characters (output}

m number of characters tc De convert

inDU_

_npu_

getbits

return {right adjusted) the n-bit f_eld of w tnat begins at position s

n numoer of bits (inout )

s begin postlon (input)

w ,workiog_f_er _O_tlOUt}

TRW Houston System Services 1 - (printed 12/18/86)

genout, b(3 ) (Downfor) genout, b(3)

NAME

genou'E

SYNOPSIS

subroutine genout (file)

integer file

DESCRIPTION

genout

Builds the nominal file frames and recor¢ buffers and directs the output

file construction.

file the output file aesiglq£tion used for looping

COMMENTS

1.

5.

All data frames to all output files depend on the organization of the

data ids.

The data is expected to De containeo on the CCT _ eitner 36 Pit or 72

b_t woPd lengths.

0nly data for which the CC T actress table has non-zero emtries will be

processed.

TRW Houston System Services 1 (printed 12/18/86)

get,at.b(3) (Downfor get,at.b(3)

NAME

getdat

SYNOPSIS

subroutine getaat (recfnd)integer recfnd

DESCRIPTION

getaat

Obtains parameters for orbiter CCT aown]ist tape and cal]s a subroutinereformat into the internal files.

to

recfnd flag indicationg Oata scan records found(ouzput)

COMMENTS

1. The subroutine gethdr will have already found the first fedora of the

first aata scan so that the cot is currently positioDed at thebeginning of the second record.

5. The begin scan will be _etermined b_ the input timbeg whic_ will be

comparea to the time-tag v_lues founQ in e_c_ scan ]n or_er to flnQ

the scan from which _ata processing may begin.

The end scaT_ will be determined Dy the in.Lit t_menc whic_ wil! be

comDaPeQ to the t_me-tag values founo Jr, each sca_ 1_ order to fine

the scar lr: wniClq _&_ processing will end.

TRW Houston System Services 1 (printed 12/18/86)

gethdr.b(31 (Downfor) gethdr.b(3)

NAME

gethdr

SYNOPSIS

subroutine gethdr

integer recfnQ

(recfnd)

DESCRIPTION

getndr

Reads the headers off of t_e _ownl ist CCT

msid's to De processed.

recfnd the recor_ status flag

to obtain information on the

TRW Houston System Services 1 - (printed i2/18/86)

getout.b(3) (Downfor)

ORIGINAL PAGE ISOF POOR QUALITY'

getout.b(3)

NAME

getout, opnout, nitout, bldout, delout, wrtout, clsout

SYNOPSIS

subroutine getout (datld,file,fnam,frmid.frmsta.hdrid,

recsta,unitid,wrdfrm)

OouDle orecision dtim

integer datid

integer file

character fnam

character*4 frmid

integer frmsta

character hdrid

integer recsta

integer unitid

integer wrdfrm

entry opnout (file.fnam,n_rid.wrdfrm,recsta!

entry nitout (frmid,file)

entry bldout (_atio,fite,frmsta)

entry de]out (¢atid.file)

entry wrtout [fi;e,recst&)

entry c!sodt (f4]e,r'ecsta)

DESCR!PTION

getout

Builds frames, deletes frames, :col leers

records to file.

¢_im da_ scan time

_atio loop counter on tne data i_ relative current fi]e

flie the output file aesignatiom

fnam the character file name of the output file

frmid dummy variable

frmsta the frame status flag

hdrid the character type of output file

recsta the record status flag

unitid the unit number associated witl_ ct_rrant file

wrdfrm the number of words per frame-excluding the 4 heaaer words

opnout

Opens all output files amd writes header recoras. Stores copypacket for each output file.

nitout

Initializes frame buffer.

frames into recor, d_ and wriCes

of i/o

bldout

TRW Houston System Services 1 (printed 12/18/86)

getout.b(3) (Downfor) getout.b(3)

Builas frame buffer.

aelout

Deletes current frame losates next vallo entry ir _a_e seauence.

wr%out

Writes frame to recora.

clsout

Closes output files.

COMMENTS

1.

3.

All data frames to all output files aeDend on the organization of thedata ids.

The aata is expecte_ to De containeC om the OCT in either 36 bit or 72

pit wore lengths.

Only data for which the CCT actress table has nor_-zero entries will be

Dr'ocessed.

TRW Houston System Services 2 - (printed 12/18/86)

ibmcvt.c(3) (Downfor) ibmcvt.c(3)

NAMEiomcvt, fetonbits - routine to convert IBMDPdata to HPDPOata

SYNOPSIS

ibmcvt(buf,n,type)int _Puf;

int _n;

int *type;

fetchbits(x,p,k)

unsigned x:

int p;int k;

DESCQ]PTION

iDmcvt

C routine to convert IBM DP aata to HP DF _at_

Duf array containing numoer to convert

n no. entries it, array

type type of conversiot3 0 - sp ; i - as,

fe_cRcirs

function to get K-Pits from word(r_g_t a53ustifled)

x working location(output)

p begin position (input)

k nu_er'o{ Pits finout)

ORIGINAL PAGE ISOF POOR QUALITY

TRW Houston System Services 1 (printed 12/18/86)

match.b(3) (Downfor) match.b(3)

NAMEmatch

SYNOPSIS

subroutine match (msfnd}

integer msfnd

DESCRIPTION

match

Matches msid's from the current header record to the namel_st _nputs

associated with desired output file. For each matcheO msid fill _ a table

indexed by internal ordering to provide the numoer of data samples, address

relative the data scan of _he first sample in the sca;q.

msfnd current count of matched m/sid's

TRW Houston System Services 1 (printed 12/18/86)

oPtfil,P(3) (Downfor) obtfil.P(3)

NAME

oDtfil, clsfi]

SYNOPSIS

subroutine obtfil

ORIG_AL P;.GE IS

OF POOR QUALITY

entry clsfi!

DESCRIPTION

obtfil

Drives the process whioh will accumulate the aata

write them to files.for OU_.DUt frames and

clsfil

Closes all files.

COMMENTS

1.

5.

All da_a frames to all output giles _epend or the or_anizatio_ of tme_ata i_s.

Tme _ata is ex_ecte_ to be containe_ or the CC] lr either 36 bit or 72

bit word lengths.

O_l,/ _$a for, wnicr the CST.aOo;-esY table ha_ non-zero, entries w;:_ Deorocesse_.

TRW Houston System Services - 1 - (printed 12/18/86)

taperd.c(3) (Downfor) taperd.c(3)

NAMEtaperd - buffer input routine for tape

SYNOPSIS

taDerd(buf,n,unit)int *buf;int *n;

int *unit;

DESCRIPTION

taperO

reaO tape info routine

bur buffer(output)

n number of worOs(input)

unit tape drive unit(input}

TRW Houston System Services 1 - (printed 12/18/86)

ORIGINAL PAGE IS

OF POOR QUALITY

valdat.b(3) (Downfor) valdat.b(3)

NAME

valdat

SYNOPSZS

subroutine valaat (relcyc,pointr)

integer bointr

integer reicyc

DESCRIPTION

valdat

Finds data associated with various msid's at addresses specified in the

table constructed _n match. Converts data to internal units and constructstable.

pointr the pointer to the current scan in nbuf

relcyc tne relative cycle number currently being Drocessec

COMMENTS1.

2.

AlX data frames to el] output files dePena on the organ_zat_o_ of thed_a i_s.

The asts is expected to be cont_nec on tne CCT _n e_ther 3E bit oP ?2

bit word iengtns.

Oniv data for w_]c_ the Q_T adopess _able _as nor_-zer, o_em_P_eT _,i_; De

p_ccesse¢.

TRW Houston System-Services 1 - (printed 12/18/86)

ndnead.b(3) (Dsputi]) ndhead.b(3)

NAMEndheaO

SYNOPSISsubroutinenOhead(u,ir,t,x,e)inSegeruinteger lrdoubleprecision tcnaracter-4xinteger e

DESCRIPTIONmdhead

Promptsinput of format page ]ayOut.

u

ir

t

X

e

display unit

current recora (output)

time tag (input/outputS,

frame ia (output)

edit fla 9 (output)

TRW Houston System Services (printed 12/18/86)

ORIGINAL PAGE IS

OF POOR QUALITY

ndnflz.b(3) (Dsputil) ndnflz.b(3)

NAME

ndnflz, ndfnpt, ndfnit

SYNOPSIS

subroutine ndnflz (nf,stat,tbegin,tend,t,dt)integer nf

integer stat

double precision tbegindouble precision tend

double precision tdouble precision dt

entry ndfnpt (nf,stat)

entry ndfnit (nf,tbegin,tend,dt,t,stat)

tena

t

dt

ndfnpt

DESCRIPTION

n_nf]z

Sets up input files for numeric display.

nf number of files needed (input)

star status flag - set negative if error encountered (output)

toegin begin time (input)

enQ time (input)

time tag (input)

time step (input)

Sets uo inout files for numeric disolay.

ndfnit

Initltial lzes input files to begin time amd _pts b_se _i!e options.

COMMENTS

File 3 is assumed to be an attitude file.

TRW Houston System Services 1 - (printed 12/18/86)

ndpage.b(3) (Dsputi]) ndpage.b(3)

NAMEndpage

SYNOPSISsubroutinenOpage

DESCRIPTIONnQpage

Checksif newpageis needed,if so then newpagenumberwritten.

TRWHoustonSystemServices 1 - (printed 12/18/86)

ORIGINAL P.&.GE [8

OF POOR QUALITY

nxtnd.b(3) (Dsputil) nxtnd.b(3)

NAME

nxtn¢

SYNOPSIS

subroutine nxtnd (t,dt,nstep,tend,done]

double p_eoision t

oouble precision dt

integer nstepdouD]e precision tend

integer done

t

at

nstep

tend

Oone

COMMENTS

DESCRIPTION

nxtnd

Sets next output time either _ro_ a base file (bfopt non-zero}, or Pyspecified time step dt (bfopt:O), done _s set to ! it pest eno time tend,

else set to O. if nstep > O, then edit status is not checked. If bfopt >O, then base file is position to next unediteO poimt.

next time (input/output)

step size (input)

step for running off base file (input}

stop time (input)

Cone _1_ 9 (outout}

Base file data must be less than 100 _,oras.

TRW Houston System;Services - 1 - (printed 12/18/86)

xfBdmp.b(3) (Dsputil) xf8dmp.b(3)

NAME

xf8dmp

SYNOPSIS

subroutine xfSdmp (pfmt,u,iop,ir)

integer pfmt

integer u

integer ioD (40)

integer Jr

DESCRIPTION

xfBdmp

ProviOes octa] Oump of standard fi]e format recor¢

format.

in

pfmt format f]ag: - means 130 col, else 80 (input)

displa2 unit (input)

_op i/o packet [input/output)

ir current record (input)

BO or 130 column

TRW Houston System Services (printed 12/18/86)

ORIGINAL Pt"_GE IS

OF POOR QUALITY

xqwget.b(3) (Dsputil) xqwget.b(3)

NAME

xQwget, xqwint

SYNOPSIS

subroutine xQwget (t,xl,x2,Q,w,s)

OouDie precision t

aouble precision xl (6)double precision x2 (6)

double precision q _4)

oouble precision w (3)

integer s

entry xqwint

t

xl

x2

W

s

xqwi r_t

DESCRIPTION

xqwgetObtains trajectory and attitude information from files._nttiaiize time buffer ana snouia be ¢alieO upon emtry.

oesired time (input)

first state (output)

2no state (output)

attitude quaternion (output)

ancular velocity (output)

status word: set to -I if error encountered (output]

Initial izes time buffer.

Entry xqwin't

TRW Houston System Services I - (printed 12/18/86)

fiche.c(3) (Fich) fiche.c(3)

NAMEmain- generatea tape whichcan be read by the fich reader

SYNOPSIS

void main(argc,argv)

int argo;char ,argv[];

DESCRIPTION

main

generate a tape which can be read Py the rich reader-. The format of the

tape is 9-track, 1600 bpi, ASCII, 132 character fixed length records. Theprogram fiche can generate a multi-reel file. However, the fiche processor

will treat each tape as an individual file. It reauires three user inputs

which are put on the command line.

usage : fiche file run_i_ tape_Orive wherefile - name of print file to put on the tape

tumid - Univac type runid 660???taoe drive - C, or 1

TRW Houston System Services 1 - (printed 12/18/86)

OF POOR QUALITY

center.b(3) (Files) center.b(3)

NAME

center

SYNOPSZS

subroutine center (iop,tget,t,x,n,nrec,status)

integer ioD (_}

_ou_le precision tget

CouPle precision t (2)

double precision x (n,2)

integer n

integer nrec

integer status

DESCRIPTION

center

Returns Qata bracketing a given time.

lop

tget

t

x

n

_rec

i/e packel (insu:/output).

given time (input).

bracketing times (input/output),

_a%a associated _ith t (input/output).

numbe _ pC.do.Die pPeo}s3o!q data word_ per frame (1;qbu_).

record number (input/output).

status i/e statu_ f)ag (output).

TRW Houston System Services - 1 - (printed 12/18/86)

get.b(3) (Files) get.b(3)

NAME

get

SYNOPSIS

subroutine get (iop,fintrp,tget,t,x,status)integer, iOD (_)

oouoie precision tgetdouble precision t (2)

double precisioR x (*)

integer status

DESCRIPTION

getInteruolates data to desired time using routine fintrp.routine must be of the form:

f intrp( t 1 ,xl, t2,x2, t,x)wne rt.e

t! = first time

xl = data associated with tl

t2 = second time

x2 : aata associated wltm *_'

t : uesirec time

x : interpolated data at t (outDu_l

lor_ i/e packet ( input/output)�

t_oet time tag of oeslrec pos..vel, t input..

t oracketing time tags used (output).

x data interpolated to desirea time (output).

status i/o status (output).

The interpolation

TRW Houston System Services - 1 - (printed 12/18/86)

thread.b(3) (Files)

ORIGINAL PAGE IS

OF POOR QUALITY

obread.b(3)

NAME

obread

SYNOPSIS

subroutine obrea_ (iop.nrec,t,id,ed,obias,obs,res,status)

integer iop (_)

integer nrec

double precision t

character id

integer ed

double precision obias

double pPecision oDs

_ouble pPecision Pes

integer Status

DESCRIPTION

oDread

_ELBET rea_ interface to GFF routines.

ioD

nrec

ld

ed

obias

Pes

s_a_us

i/o packet (input/output)

desired record number (input)

time tag (output)

frame io (output)

edit status (cutout)

observation bias (output)

observation _output)

resiaual (cutout)

i/0 statu_ (output)

TRW Houston System Services 1 - (printed 12/18/86)

obwrit.b(3) (Files) obwrit.b(3)

NAMEobwrit

SYNOPSISsubroutineobwrit (iop,nrec,t,id,ed,obias.obs,res.status)integer io_ (_1_n_egernrecdoubleprecision tcharacter idinteger e_doubleprecision obiasdoubleprecision obs

Ooubie precisio_ res

integer status

DESCRIPTION

obwriT

RELBE7 wr_e interface To GFF routines.

iop

nrec

t

id

ec

obias

ODS

res

status

i/o becket (input/ou_pu=}

desired record number (_nput)

Time tag (inDut)

frame id (inDuti

edit status (inDu_'

observation bias (inDut)

observatlon (input

resiOual (_nput)

i/o status [cutout

TRW Houston System Services (printed 12/18/86)

rlcls.b(3 (Files) rlols.b(3)

NAME

rlcls

SYNOPSIS

subroutine mlcls (lop,status)integer iop (*)

integer status

DESCRIPTION

rlcls

Closes GFF file of st_n_ar_ RELBET type.

iop i/o packet (input/output).

status i/o status (output)

TRW Houston System Services - 1 - (printed 12/18/86)

rlcntr.b(3) (Files) rlcntr.b(3)

NAME

rlcntr

SYNOPSIS

subroutine rlcntr (iop,tm,n,rec,t,e.stat)

integer ioD (-)

double precision tm

integer n

integer rec (n)

oouble precision t (n)

douole precision e (_)

integer stat

ORIGINAL PAGE IS

OF POOR QUALITY

DESCRIPTION

rlcntr

Centers array of unedite_ points from RELBES GFF about a desired time tm.

The t_mes anO recoras of the points are returne_. Warning messages areissuec _f the amray cannot be centered because an ena of file _s

encountered. Error Messages are issue¢ if not enough points are found. Theroutine assumes that tne times have been initi_llzed on the first call so

that the last time _n the array is less than tne first time, or was

lniti_iize: by first calling rlmidl.

iom i/c packao_ for file (input)

_pd _esireo time (inout_

numbe_ of frames im output arr_y(input_

rec recoros corresoonding to entries in e (input/output)

array of time tags for entries [input/output)

array Duffer for entries (input/output)

sTa_ status fla9: >=0 is oood, -1 is eof. e is error Ioutput)

TRW Houston System Services - 1 - (printed 12/18/86)

rldsp.b(3) (Files) rlasp.b(3)

NAMErldsp, rtpdsp, rlhdsp

SYNOPSISsubroutine rlasp (p,u)integer p (45)integer uentry rlpdsp (p,u)

entry rlhdsp (p,u)

DESCRIPTIONrldsp

Displays input/output packet to specified unit.i/o packet (input)

display unit numoer(input)

rlpdspDisplays i/o packet info suchas unit, type, name,size anOtime span.

rlh_SpD_sDlaysi/o _cket informat_ol_suchas unit.span,_;ze. creatiom andupCateaates.

_yDe. _ame, iheaaer, time

TRWHoustonSystemSePvices - 1 - (printed 12/18/86)

rle_it.b(3) Files) rledit.b(3)

NAME

rledit, r!fwds, rlbwas

SYNOPSIS

subroutine rledit (iop,rec,t,fia e,etat)

integer _op (_)

integer rec

aouDle preclsiotq t

character lid

double precision e (-)

integer star

entry rlfwds (iop,rec,t,fid,e,stat)

entry rlbwds (iop,rec,t,fid,e,stat)

DESCRIPTION

riedit

Entr_es to obtain next unediteo frame.

file _!

lop

rec

f_d

e

s_aT

rlfwds

Note that status: -I

e_it value for OKay < -10 for. error

for end of

i/c package for file (input)

records corresponding to entries in e (input/output}

a_ra_ o_ time ta_s for entries (inDu_/outmut)

frame iQ (Input/output)

arra}, buffer for entries (input/output)

szatus flag: >=0 _s gooo, -1 is eof, e _s e_ror (output]

Reaos forwarc to. the next frame or the eric o_ file.

Plbwas

Reads backward to tt_e nex_ frame or the beginin_,

ORIG_i_,k:_.,,'.',-'_,-,..,.._S

OF POOR QUALITY

TRW Houston System Services - 1 - (printed 12/18/86)

rlfil

OR:C_AL PR,_E 18

OF POOR QUALITY

.b(3) (Files) rlfill.b(3)

NAME

rlfill, rl2end, rlbaok, rl2beg, rlfrnt

SYNOPSIS

suDpoutine rlfill (iop,n. iep,fnd,rec,t.e,stat)

double precision e (_)

integer fnointeger, iep

integer iop (*)

integer n

integer Pet (n)

integer star

double precision t (n)

entry rl2end (iop,n, iep,fnd,rec,t,e,stat)

entry rlPack (iop,n,fnd,rec,t,e,stat)

entry rl2Peg (iop,n, iep,fnd,rec,t.e,stat)

entry rlfrnt (iop,n,fnO,rec,t,e,stat)

DESCRIPTIONrlfi:]

Entry points for filling up frame arrays o • unedited points: rlbacP and

rl2eno attempt tc fi]l entries ir_ array after sDecified inoex. I{

unsuccessful rlfrnt ano mlDack error exit. ]f unsuccessfu_ r!2enc and

r12oe_ move t_e array all the way tc the end or front respect]vel_' ano

reset the index iep to the new start or end index note that the numPer of

length of eac_ entry in the;array must De the same as the frame tengtt_ or.

am error will occur. Index use and start is as follows: Input rl2ena:

iep=start of _ata, filling starts at _ep+fnd+l rl2Deg: iep:,current 1stindex, filling starts:at iep-I output rl2end iep=current 1st inOex, filled

from iep to n rl2beg iep=current last index, filled from I to iep PlfPntfi!_ed from n to R-fnd r_DaCk fil led fro_ 1 to fnd

s

fnd

iep

iop

n

rec

stat

t

rl2end

array Duffer for entries (input/output)

number of points founo (input/output)

pointer to end of e (input)

i/o package for file (input)

number of entries to be found (input)

recoras corresponding to entries in e (input/output)

-status flag: >:O is good, -1 is eof, e is error (output)

array of time tags for entries (input/output)

Attempts to ',:ill entries in array from iep to n.

rlback

Attempts to fill entries in array at fnd+l.

rl2Peg

Attempt_ to fill entries in array from 1 to iep.

TRW Houston System Services - 1 - (printed 12/18/86)

rlfill.b(3) (Files) rlfill.b(3)

rlfrnt

Attempts to fill entr_es in array from n to n-fnd

TRW Houston System Services 2 - (printed 12/18/86)

rlmidl.b(3) (Files)

OF poOFl t%!_:JJT¥

rlmidl.b(3)

NAME

rlmial

SYNOPSIS

subroutlne rlmldl (iop,tm,n,fnd,rec,t,e,stat)

integer lop (_)

OOuuie precision t_

integer n

integer fnd

integer rec (n)

double precision t (n)

double precision e (*)

_nteger stat

DESCRIPTION

rlmldl

Centers an array, of frames about a desired time from scratch.

lop i/c package for file (input)

_m aesire_ time (input)

number of entries to be founa(inou1)

fn_ number of points found[input/output)

r.e_: recorCs Cor,_es,'oonditqo tc_' er]tries i;_ e( input/outDu_ :

array Of time tags for entries(inPut/output)

array buffer _or entries (input/output)

star status flag: >:O is good, -1 is eof, e is error(output)

TRW Houston System Services 1 (printed 12/18/86)

rlnew.b(3 (Files) rlnew.b(3)

NAME

rlnew

SYNOPSIS

subroutine rlnew (iop,name,type,unt,naata,status)

integer iop (_)character name

character typeinteger unt

integer ndata

integer status

DESCRIPTION

rlnew

Opens a new GFF file in accordance with the standard RELBET usage.

lOP

name

type

unt

ndata

i.,o packet (outcut).

file name (input).

file type (input).

unit number (input).

numPer of douDle precision data items in frame (input /.

status i/c status (outsut).

TRW Houston System Services 1 (printed 12/18/86)

rlopen._(3) (Files)

K_ _t ._. _t_l :_,_

OF POOR QUALITY

rlopen.b(3)

NAME

r I open

SYNOmSIS

subroutine riopen (iop,name,unt,uze,status)

integer lop i-:)character name

integer unt

integer uze

integer status

DESCRIPTION

rlopenOpens a old GFF ?ile in accoraance wltlq the standard RELBET usage.

iop i/o packet (output

name file name (input).

unt unit numDer (input

uze use flag (input).

stetu5 1/'o s_at_5 _outD_t

TRW Houston System Services - 1 - (printed i2/18/86)

rlread.b(3) (Files) rlread.b(3)

NAMErl_ead

SYNOPSI_

subroutine rlread (iop,nrec,t,id,ed,data,status)integer io# (_)

lnteger nrecdouble precision t

character id

integer ed

double precision data (*)

integer status

DESCRIPTIONrlread

RELBET read from GFF files.

IOF-, i/o packet (lnDut/OUtpUt) .

nrec aesireo recora numDer (input).

time tag (output).

id frame ic {output].

eC ec_ status [output).

Oat_ OU_DU! aata from frame _output}.

status i/o status (output).

TRW Houston System Services 1 - (printed 12/18/86)

rltime.b(3) (Files)

ORIGINA.L p_,_: tS

OF POOR OUALITY

rltime.b(3)

NAME

rlt me

SYNOPSIS

subroutine rltime (iop,t,nrec,status)

integer, io_ (_)

double precision t

integer nrec

integer status

DESCRIPTION

rltime

RELBET interface to GFF routine gftime. Returns recordfirst record or end o? file ann big time tag (+- te30).

lop i/o Packet (input/output).

time tag (output).

nrec oesireo recoro number (input),

status ;/'o status (output).

Oirectly before

TRW Houston System Services - 1 - (printed 12/18/86)

rlwrit.D(3) (Files) rlwrit.b(3)

NAME

rlwrit

SYNOPSIS

subroutine rIwrit (iop,nrec,t,id.ed,data,status)

integer io# (_)

intege _ nrec

aoubie precision tcharacter 15

integer ed

oouble precision aata (-)

integer status

DESCRIPTION

rlwrit

RELBET write to GFF files

ioo 1/o packet (input/output).

nrec aeslreO record numoer input).

time _ag (input).

frame io (_nput).

e_ e_it status _ _nDut).

da_a uat& froF_ frame (inpu=

status i/o status (output).

COMMENTS

Differs fro_ gfwrit in that writing past the end of the file _s not anerror, even if aDpen_ mode is not speci{ied and cannot write to header.

TRW Houston System Services (printed 12/18/86)

ORIGINAL PAG_ IS

,OF POOR QUALITY

Cvprop.b(3) (Filter) cvprop.b(3)

NAME

Ovprop

SYNOPSIS

subroutine cvprop (tolO,xolo,tnew.xnew.cov)

_ouPle precision tol_

_ouPle precision ×ola (nso])

_ouD!e precision tnew

douDle precision xnee (nsol)

_ouble precision coy (nsol,nsol)

DESCRIPTION

predict covariance

cvprop_oi_

xoid

tnew

xnew

COV

O1_ time (input).

ola state (input)

new _ime (input).

ne_ state (input}.

cova_iance input/output}.

TRW Houston System Services (printed 12/18/86)

dkal.b(3) (Filter) dkal.b(3

NAMEdka!

SYNOPSISblock _ata dkal

DESCRIPTIONdkal

This block data routine initializes the commonusedby this program

TRWHoustonSystemServices 1 - (printed 12/18/86)

asmth.b(3) (Fi]ter) dsmth.b(3)

NAMEdsmth

S'¢NODSISblock _ata dsmth

DESCRIPTIONdsmth

This block aata routine initial izes the common usea by this program

TRW Houston System Servto,es - 1 - (printed 12/18/86)

getnxt.b(3) (Filter) getnxt.b(3)

NAME

getnxt

SYNOPSIS

sumroutine getnxt (tnxt,pob,ob,obtyp,ooslg,pstoD)

Oouole precision OP

cnaracter_4 obtyD

_ouOle precision obsig

double precision tnxt

DESCRIPTION

ge_nxt

get next time for sequential filter.

ob

obtyp

oDs]g

tnxt

observation (output).

observation type (output).

observation sigma (OUtDUt). flag tO telt

{output). flag _o tell if stop tlme (output}.

t_me of observation (output).

of observation _ime

TRW Houston System Services - 1 - (printed 12/18/86)

kalman.b(3) (Filter)

OR|G|N-_L PAGE IS

OF pOOR QUALITY

kalman.b(3)

NAME

kalman

SYNOPSIS

suDroutl

double

douDie

double

double

double

double

double

double

Qouble

double

ne kaiman (t,x,c,ob,y,aydx,v,eacrit,r,redit,uwterm))recision t

3recision x (nsol)

_recision c (nsol,nsol)

3recision ob

)recision y

)recision dydx (nsol)

)recision v

)recision edcrit

)recision r

)recision uwterm

DESCRIPTION

kalman

kalman

t

x

c

o_

Y

_ydx

v

filter.

current time (input).

state vector (inPut).

covaP_ance (_nbut/output).

_pue obser.va=lo_ (lnDu_.

computed observation (input).

partials of observation w.r.t, state (input).

residual variance (input).

e_crit e_lt cr_te_om (input).

residue; (output). residual edit flag (output).

uwterm the uderweighting term

TRW Houston System Services 1 - (printed 12/18/86)

krelo.b(3) (Filter) krelo.b(3)

NAME

krelo, kreloc

SYNOPSIS

subroutine krelo (t,x)

Oouble precision tdouble precision x (12)

entry kretoc

DESCRIPTION

krelo

kalman relative filter traj output routine for seauentlal filter

t filter time (input).

x filter state (input).

kreloc

close output file

TRW Houston System Services - 1 - (printed 12/18/86)

invrs.r(3) (RELBET/Filter) invrs.r(3)

NAMEinvrs

SYNOPSIS

subroutine invrs (n.a.ai,eps)

integer n

Oo_ble precision a(n.n)

doubie precision ai(n.n)

Qoubie precision eps

DESCRIPTION

invr$

matrix convert routine for smooth

n dimension of matrix

matrix to De inverted (input).

ai(n.n) inverted matrix (output).

eps th*esho)d for singularity (input).

TRW Houston System Services - 1 - (printed 12/18/86)

nkal.b(3) (Fi]ter) nka].b(3)

NAMEnkal

SYNOmSIS

suDrou_ine nkal

DESCRIPTION

nkal

This subroutine fetches the user inputs for the

this program

oommom D]ocks neeoeo by

TRW Houston System Services - 1 - (printed 12/18/86)

I

L__

nsmth.b(3) (Filter) nsmth.b(3)

NAME

nsmth

SYNOPSIS

subroutine nsmth

DESCRIPTION

nsmth

This subroutine fetches the user inputs for the common blocksthis program

neeOed by

TRW Houston System Services 1 (printed 12/18/86)

obest.b(3) (Filter) oDest.b(3)

NAME

obest

SYNOPSIS

subroutine ODeSt (t,x,obtyp,obsig,y,dydx,v,e,nob)

double precision e

double precision t

Ooubie precision x (nso])

character*4 oDtyp

double precision obsig

douD]e precision y

double precision dydx tnsol)

double precisiom v

integer nob

DESCRIPTION

obest

observat_o_ estimate for sequential filter.

edit criterion (output)

t time (input).

x state (tnDut).

obryD observatiom tyoe (input).

obSig ouservat_or slgma (input].

estimated observatiom (output).

dyox bartia)s of observations w.r.t, state (output).

variance of observation (output).

nOZ observation number.

TRW Houston System Services 1 - (printed 12/18/86)

obout.b(3) (Filter) obout.b(3)

NAME

obout, obcls

SYNOPSIS

subroutine obout (t,obtyp,redit,ob,r,v,o,pv)aouble precision t

character_4 obtyp

double precision obdouble precisiom r

aouble precision v

double precision b

double precision by

entry obc]s

t

obty#

ob

r

v

b

bv

obcls

DESCRIPTION

obout

ou:put routine for sequential filter

filter time (input).

frame i_ of current obs edit status of observation

oOservation val_

resiclual value

value of residual variance

solution bias

bias variance

ClOBe OLJTpUI g]le

TRW Houston System_:Serviees 1 - (printed 12/18/86)

Dcpt.b(3) (Filter) pcpt.b(3)

NAMEpcpt

SYNOPSIS

subroutine pcpt (p,c)

double #recislor_ p [nsol,nsol)

aouDie pr'eoislon c (nsol,nso_)

DESCRIPTION

pcpt

per{oPm operation ph]*c_Bhitr'anspose.

p state transition matrix [input).

c covaraince (input/output).

TRW Houston System Services 1 - (printed 12/18/86)

pred.b(3) (Filter) pred.b(3)

NAME

pred

SYNOPSIS

subroutine preO (t,x,c,tnxt)

double precision t

douole Preci$io_ × (nsol)

double precision c (nsol,nsol)

double Drecision tnxt

DESCRIPTION

pred

predict state, covariance at next time for sequential filter.

t old time (input/output).

x state (input/output).

c covariance (input/output).

tnxt next time (input).

TRW Houston System Services 1 - (printed 12/18/86)

psout.b(3) (Fi]ter) psout.b(3)

NAME

psout, pscls

SYNOPSIS

suOroutine psout (t,x)

aoubie precision t

_ouDle precision x (12)

entry DSCIE

DESCRIPTION

psoutoutput routine for sequentia_ filter

t filter time (input).

× filter state (input).

pscls

clost outDut file

TRW Houston System Services 1 - (printed 12/18/86)

ptbl.b(3) (Filter) ptbl.b(3)

NAMEptbl

SYNOPSISinteger function ptbl (t,tblcouplepmecisiontaouoi_precisio_ tb_ (*)

DESCRIPTIONptb]

Returnsa pointer to a time ncreaslngtable to the entry with the maximumtime tag at or before _ given time. Sentinal time tags are expectegat thebeginning anaend of the table, less tnan andgreater than, respectively,any expected time tag.

aesire_ time (input).

tbl time increasina taDl: im_J÷_

TRW Houston System Services 1 - (printed 12/18/86)

sfilt.b(3) (Filter) sfilt.D(3)

NAMEsfitt

SYNOPSIS

program sfil_

DESCRIPTION

sfil%

RELBET Kalman filter ariver

TRW Houston System Services - 1 - (printed 12/18/86)

sfinit.b(3) (Filter) sfinit.b(3)

NAMEsfinit

SYNOPSIS

subroutine sfin_t (t,x.c)

douDle precisior_ t

oouble precision × (nsol)_ouDle precision c (nsoi,nsol)

DESCRIPTION

sfinit

initialize sequential filter

t initial time (output).

x initial state (output).

¢ initial cova_iance (output).

TRW Houston System Services I - (printed 12/18/86)

sfout.b(3) (Filter) sfout.b(3)

NAME

sfout

SYNOPSIS

suDroutine sfou_ (:,x,c,pstop

oouble precision t

aouole precision x (nsol)

Qouo]e pPecisio_ C (nso_.nsol

DESCRIPTION

sfout

output routine for sequential filter

t filter time (input).

x filter state (input).

c covariance matrix (input). stoD flag (input).

TRW Houston System Services (printed 12/18/86)

smooth.r(3) (Filter) smooth.r(3)

NAME

smooth

SYNOPSIS

subroutine smooth (infil,outfil,cpfreq,cnrec)

cheracter*T2 infil

oharacter_72 outfi_

character-72 cpfreqcharacter.72 cnrec

DESCRIPTION

smooth

relbet smoother

infil input file name

outfil output file name

c_freq print frequency

cnrec number of recoras

TRW Houston System Services I - (printed 12/18/86)

snoise.b(3) (Filter) snoise.b(3)

NAME

snoise

SYNOPSIS

subroutine sno_se (to]Q,tnew,c)

aouDle precision _old

aoub]e preclSlO_ tnek'

double precision c {nsol ,nsol)

DESCRIPTION

snoise

a_d state noise to covariance for reIDet sequential fi]_er

tola last time (input).

tnew new time (input).

covariance lnpu_/outDut).

TRW Houston System Serv ces (printed 12/18/86)

stm.b(3) (Filter) stm.b(3)

NAMEstm

SYNOPSIS

subroutine stm (pni,told,xold,tnew,xnew)

double p_ecision phi (nsol,nsol)

douPle precision tola

double pmecisioP xol_ (nsol)

double precision tnew

double precision xnew (nsol)

DESCRIPTION

stm

state transition matrix

phi

toia

xold

tnew

xnew

state transition matrix (OutDut).

Pegin time (input).

state at old time (input

eno time (input).

state at hey,' time (inpu_

ORIGINAL PAGE IS,OF' POOR

" QUALITy

TRW Houston System Services 1 - (printed 12/18/86)

stmrv.b(3) (Filter) stmrv.b(3)

NAME

stmrv

SYNOPSIS

suProutine stmrv (pni,dt,xola,xnew)

double precision dt

double preclsio_ phi (5,6)

double precisio_ xnew (6)

double DPecision xolo (6)

DESCRIPTION

stmrv

State transitio_ matrix fop position and velocity' iB orDita] motion

dt

phi

xnew

xold

delta time (input).

state transition matrix (output).

next pos_:ion and velocity (input).

last position and velocity (input).

TRW Houston System Services - 1 (pPinted 12/18/86)

stprop.b(3) (Filter) stprop.b(3)

NAME

s_prop

SYNOPSIS

subroutine stprop (tola,t,x)

double precislO_ told

_ouble orecisloN t_ouble precision x {nsol)

DESCRIPTION

stprop

state propagation

toi_ old time (input).

t new time (input).

x hey, state (input/output).

TRW Houston System Services 1 (printed 12/18/86)

uvw2m.b(3) (Filter uvw2m.b(3)

NAME

uvw2m

SYNOPSIS

subroutine uvw2m (c)

aouDle precision c (nsel,nsol)

DESCRIPTION

uvw2m

this routine rotates uvw coordinates to m50

the full sotution state oovariance

TRW Houston System Services 1 - (printed 12/18/86)

vlrest.b(3)

OF POOR ,;;:ALFI'y

(Filter) vlrest.b(3)

NAME

vlrest

SYNOPSIS

subroutine v)rest (t,obtyp,ob,v)

double precision t

character*4 obtypdouble precision ob

double precision v

DESCRIPTION

vlrest

lrbet3 variance estimate for sequential filter.

and range bias

t

obtyp

ob

V

time (input).

observation type (input).

the actual observ&tion of range (input)

variance of observatiom (output

for range, range rate,

TRW Houston System Services - 1 - (printed 12/18/86)

cmp2sg.c(3) (Fman) cmp2sg.c(3)

NAME

main. cmo2sg - comoare relative difference to compute_ sigmas

SYNOPSIS

main(argc,argv)

int argo;

char -_argv:

char _cmD2sg(framel,frame2a,frame2b)

char _framel;

char _fra_e2a;

char *freme2b;

DESCRIPTION

main

cmp2s 9 reads in two files including a relative trajectory difference

file ano a file containing tme computeO sigmas associated with

some filtering process in the same frame format as a relative

trajectory file

-r__ indicates file name of relative tra_ file

-c__ inoicates file name of sigma oata =i!e-t i_ time tnres_ol: of comoariso_ ( default 1s

S ln_icatin_ tnat 3-sigma is _ gooooomoarison)

NOTE: Output text files are CMP_POS for position info

and CMF_VEL for velocity i_fo

cmp2sgframel

the current frame from Relative difference file 1

f rame2F. the frame from relative s_gm& file 2 <= time of framel

frame2b the frame from relative sigma file 2 > _ime of frame1

TRW Houston System Services 1 (printed 12/18/86)

drpst.b(3) (Fman) drpst.b(3)

NAME

arpst

SYNOPSIS

block aata drpst

DESCRIPTION

arDst

This block aata routine initializes the common used by this program

TRW Houston System Services - i - (prinSed 12/18_86)

eph2rel.c(3) (Fman) eph2rel.c(3)

NAME

main, eph2rel

file as cutout

reads two ephemeris files and creates relative trajectory

SYNOPS[S

main(argc,argv)

int argc;

char =_argv;

char _eph2rel (framei,frame2a,frame2b)

double *frame1;

oouble _frame2a;

double _frame2b;

DESCRIPTION

main

eph2re% reads two ephemeris files ann creates a relat!ve trajectory file

output. The first ephemeris file is tne Oase file name. The second

ephemeris_file2 is the file to _e interpolated for the relative portioR of

the frame. The output relative trajectory file is assigned the name of

ephemeris file REL.

TRW Houston System Services 1 - (printed 12/18/86)

filedit.c(3) (Fman) filedit.c(3)

NAME

main, text_in, gff_in, ref_in, edit_frame - gff file editor

SYNOPSIS

int main(argc,argv)

int argc:

char *_argv;

char -text_in(inframe,infile)

char *inframe;

char _infile;

char _gff_in(inf_aAme,refe_ence,end)

char _inframe;char _referenoe;

char _end:

char *ref_in(reference,infile)char *reference:

char _infile;

char *edit_frame(imframe,reference)cha_ _inframe:

char *reference:

DESCRIPTION

the following parameters are set by command line arguments

main

Filedit reads i_ one of two edit sources to be useo to east a

specified file depending uo_r_, certain D_ogram dependentcmiTerior,.

Mu!tIDie frame _ds can be specifieO _c _n_ic_te the framesto be edited

USAGE:

filedit <-a__><-c><-t__><-c__><-p__><-f__><-o__><-h__><-i__><-j__>

where

-a__ Provides the edit value to be applied.Zero is the same as default.

Negative input indicates editted framesare to be uneditted.

Positive input indicates uneditted

frames are to be editted.

..When used with -c indicates that onlyframes bearing the, specified edit va_ueare effected.

Default is 999

-t Indicates file name wherein edit in_ervais

a_-e specified by two text fields :The first field should be begin time

The second field is an end time of editinterval

Frames associated with specified (<-p>)frame_ids are editted witt_in text inputtime intervals

Default is to process whole file

-c Indicates that the edit process willchange the edit status of all frames

TRW Houston System Services - 1 - (printed 12/18/86)

filedit.c(3) (Fman) fitedit.c(3)

gff_ininframe

possessingthe desired edit value inputusing the <-a> option or defaulte¢ to 999.For examplein the default case frameswith 999 receive -999 if the proper editcriterion are met. In this usage

negative values may be used with <-a>.

The object is to undo a previous edit

operation or redo a previous operation.

This option can be used with both <-t>

and <-f> options and has the same purpose

-o indicates file name of gff file to be editedIf unused or same as the reference file name

tnen the reference file is to be edited.

-p__ indicates list of frame_ids to be effectedon the file to be editted

-f _noicates file name of reference gff filewhose frames are used in edit criterion

of input fiie frames.If same as the f_ie to be edite_ file name

then the reference file is to be edited.

-h indicates criterion for edit to be

_eterminec fron, frames on the reference file

necessary only if -i__ option soecifiedin which case _ oouoie D_ec_slon value

_s expected w_cr, is treatec as a sort

of threshold tc be _nterperteo as

ignored if -i option not used

-i im_icates frame pos source of e_it criterionfor frames on the reference file.

if not specified edit status portion assumed

and target frames will be editted if theedit status is set to edit

of the sDecif_e_ frame of input fileinteger input expected which indicates aoubte

precision looatiom on data portiom of ÷tame

-g__ _naicates frame i¢ source of edit criterionfor frames on the reference file

(only one allowed).

Ignored if reference file is to be edited.

-j__ indicates the type of test use_ to compareinput thresho.d with reference file frame

information as criterion for edit,

:0: aDs(frame info) >: aDs(threshold)

>0: frame info >: threshold<0: frame info <: threshold

ignored if -i option not used

NOTE: if the frame bein_ testedwas a valid frame before the test

then the results of the test will

change the value of the edit statusflag in some cases even i_ the result

shows valid data, however in thiscase the frame will still be valid.

current frame from file 1 the file to be editted

TRW Houston System Services - 2 - (printed 12/18/86)

filedit.c(3) (Fman) filedit.c(3)

reference the comparison frame from file 2 <: inframe

end not used

this function edits the input frame on the basis of

reference file which has the greatest time-tagtime_tag and returns the output frame

the frame from the

<= to the input frame

ref inr_ference the input frame from the reference file

infile unused

this functiop edits the reference frame based on info in the

reference frame and returns the output frame

edit framein_rame

input frame to be eOitted

reference the reference frame

this function examines the reference frame to Oetermine the edit status ofthe input frame and returns the output frame

TRW Houston System Services - 3 - (printed 12/18/86)

gbfcom.c(3) (Fman) gbfcom.c(3)

NAMEmain.gbfcom- mergefiles

SYNOPSIS

main(argc,argviint argc;char _argv;

void gbfcom(out_name,base_name,mergename)char -out_name.-basename,,merge_name;

DESCRIPTION

main

gbfcom reads two files an_ performs a merge using the first

input file as a Pase file and the second file as a mergef_ie ie., if two frames with identical frame ids occur at

the same time then the base file frame is discarded an_

the mer#e file frame used the new fiie _s create¢ inthe first argument

Usage: gbfcom out inl in2

TRW Houston System Services - 1 (printed 12/18/86)

mkinit.c(3)

OF POOR Q_jAL[TY

(Fman) mkinit.c(3)

NAME

maim, tel_in, eph2_in, mkimit -

rel traj file

creates text file from two traj files or a

SYNOPSIS

main(argc,argv)

int argc;

char _argv;

char _rel_in(framel,p_char)char _framel;

char *p_char;

char _eph2 in(framel,frame2a,frame2b)double *frame1;

double _frame2a;double _frame2b_

char _mkinit(time,base.target)

double _time,_base,_target;

DESCRIPTION

ma_n

mklnit rea_s two trajectory =i%es Cr one rela_ive Trajector>'

file a_d writes out te×_ _o De used for imit l_DUt _nput

TRW Houston System Services 1 (printed 12/18/86)

nrpst.b(3) (Fman) nrpst.b(3)

NAMEnrpst

SYNOPSISsubroutinenrpst

DESCRIPTION

nrpst

This sucroutine fetches the user inputs for the common blocks neeOed bythis program

TRW Houston System Services - 1 - (printed 12/18/86)

obsnois.c(3) (Fman) obsnois.c(3)

NAME

main, combine -

fiieobsnois merges the obs data with the noise data into one

SYNOPSIS

int maln(argc,argv)

int argc:

char _argv;

char *combine(frame,frame2,frame3)char _frame;

char _frame2;

char _frame3;

DESCRIPTION

main

obsnois merges observation _ata and noise data into one file.

data is stored in the first location of obs data. Usage:

combineframe

obsnois obsfile noisefile

The noise

The output file _s a binary file with OF< attacned to the firs_ input=iie. (obsfile). ",_ any, of tne input fives is unavailable . an errormessage is generated.

Note: User needs to run oDsnols repeatly for each frame id until all of

the desirable types are complete_. The output fi}e is the inputfile for the next run. For example:

We iqave tme following :

oPsnois fBobs Obs_c_nols_Na

The output file is feobs_ON. For tfqe next fur,. we will have

obsnois fBoDs_0N 0bs_ddnols_ND

Now the output file is feob5 ON ON.

the current frame

frame2 the beginning of the bracket frame

frame3 the.end of the bracket frame

merges the obs data with the noise data. The noise data is stored

in the fi#st location of the data portion.

TRW Houston System Services 1 - (printed 12/18/86)

qaatt.c(3) (Fman) Qaatt.c(3)

NAMEmain. angle rate - Generatesangular accelerationand gff file.

SYNOPSIS

int maln(argc,argv)

int argo;

chap _argv;

char _angle_rate(frame,Dtr)

chap _ptr;

chap *frame;

magnitude text summary

DESCRIPTION

ma]n

Qaatt provides output te stdout documenting attitude files

Usage:

qaatt <-e><-b > filel .....

where -e is the maximum acceptable angular acc magnitude(default . 10)

-b is the mlmlmum angular aoc to determine an event_aefault .OO05_

Tne potions ape parseo and the appropriate variao!es are set.

If a file is unavailable, a_ error message is generated.

:dart creates an output gff with the angular acceleration vector aDO

magnitudebetween the two input angular Pates:

the frame ld fop _is file is "attr." Also, for an T point > e and any

point > D, a record is written to stdout containing time,"attr","valid"or

"edit", duration .and magnitude.

angle_Pa_ecomputes angular rate and documents

ptr character Do!PreP,not used

frame current frame of data

TRW Houston System Services 1 - (printed 12/18/86)

ORIG,,_..,. _" "c

OF POOR QUALITY

qacover.c(3) (Fman) qacover,c(3)

NAME

maim, cover file - Generates a coverage history summary

SYNOPSIS

int main(argc,argv)

in_ argo;

Char =*argv;

char *cover_file(frame.ptr)

char *ptr;

char *frame;

DESCRIPTION

main

qacover provides output to stdout summari_in@ the coverage of a specifieo

data type from a gff file, Usage:

qacover <-I ><-f > file1 .....

where -t is the minimum time gap for lost oata[default 30s)

-f frame id [default no Check on frame id)

The obt]ons are Garsed and the appropriate variables are set. The files

are parsee arc output text _s written untO! the last file has beer

Processed. i# & file 1s unavailable, an e_ror message 1s generateo ano

the next file is processed. The output text contains the s_ar, t time Of

the interval, tne ÷tame iG, Oata indicator _ va! i_.lost Or e¢_=], t_

ouratiom o _ the interval alq¢ the number of points in the iste_vz_.

cover file

generates coverage history

ptr character pointer, not use¢

fram_ CU!'l_is;qt Oa_- ,'=rarn_

TRW Houston System Services - 1 (printed 12/18/86)

qanois.c(3) (Fman) qanois.c(3)

NAME

main, qanois -

graphicgenerate textfi!e for noise statistic and binary file for

SYNOPSIS

int ma_n(argc,argv)

int argc:

char -_argv;

char -qanois(frame,ptr)

char _rame;

char *ptr;

DESCRIPTION

main

qanois p_ovides output to stOout documenting noise statistics for obs

gff file and binary file for graphic. The input is from Odnols. Usage :

Qanois <-f ><-_ ><-q><-m >inputfilewhere -f is the frame ia

-i is the index tc difference table to use for

noise souroe[defau!t 6tn number )

-q__ is the auantlzat_on valueoefault see above

-_ is the m_nin, um number of points acceotabie for

noise oons_oerarlom (default see above)

The options are parseG and the appropriate variables are set.

If & file is unavailaoie, an error message _s generated. The outputtext has the following format:

Begin_time Data type "noise" duration quantized average_obs number ofof_noise value measurement points interval Ex: 1000.0aran noise 384.0 .01 50.0 90 1384.0 dramnoise 768.0 .02 90.C; 180

Interpretation:

At 1000.0 Range date noise average .01 meters for 384.0 seconds

with an average range measurement of 50 meters and a total of90 observation marks

etc...

The output binary file used the following naming convention

Inputfile_name plus suffix N plusfirst letter of the frame i_ desired

The frame of the output binary file is described as follows

Standard header where edit status indicates number of pointsin the noise interval

The data portion of frame provides the following infOEnd time of noise interval

Average value of observation

Computed noise selected by Index

Note: User needs to run qanois repeatly for each frame id until all of

the desiraPle types are finished.

the following defines depend on the format of the input frame

qanois

TRW Houston System Services 1 - (printed 12/18/86)

qanois.c(3j (Fman) qanois.c(3)

frame

ptr

current frame of data

character pointer, not useo

TRW Houston System Services 2 - (printed 12/18/86)

qaranjmp.c(3) (Fman) qaranjmp.c(3)

NAME

main, rrrfile, jmpcomp

difference history

SYNOPSIS

int main(argc,arg\,)

int ergo;

char _*argv;

char _rrrfile(frame)

char _frame;

char _jmpcomp(frame,ptr)

char *ptr;

char _frame;

Generates a radar range versus range rate

DESCRIPTION

main

aaranjmp provides output to steout documenting jumps in range compared w_tn

range compute¢ from range rate. The follovJ_ng intervals are aocumented.

If range is <= Rbound; !_ <= _ife < 3030 <: diff

> RPound: 30 <: _f_ < 7070 <= di_f < 100

10C' <: di_f

Usage:

qaranjmp <-r><-g> file1 .....where: -r is Roounc (oefaul_ 6000 meters)

-#__ _s ma×_mu_ aqlowable gap for computation ofof jump in range (Uefault 50 seconds)

The options are parsed and the appropriate variabies are set.

1; a file is unavailable, e,- er:_or message is generated.

An _nterim gff file is cPeateo v,'it_ tne same name as the _npu= fiiesuffixed with Rd. Th_s {lie contains a recoPc with the range and

range rate in one record and no other observations. This file can be

removeO after program execu=iom: it has e frame io of "rand".

For each point that falls ir, the previously defined interval a record

is written to stdout containing start time of interval, "jump", "range"

duration of interval, and magnitude of the jump.

rrrfile

creates a range and range rate obs file

frame current frame of data off obs file

jmpcomp

computes interval of range jump

otr character pointer, not used

frame current frame of data from r/rr file

TRW Houston System Services 1 - (printed 12/18/86)

qastar.c(3) (Fman) qastar.c(3)

NAME

main, star_track, getangle, test_print - Star Tracker obs history

SYNOPSIS

in_ main(argc.argv)int argo:

char x_argv;

char *star track(frame,framel,frame2)

char _frame:

char *frame1._frame2;

char _getangle(frame,infile)char *frame;

char _infile;

double *now;

aoubte angledouble *end;

hi(nosy,angle,end)

DESCRIPTION

m_in

Qastar prov_oes ou_out to s_out mumm_izln§, _ne star observations on

art oDservatior, file. Usage.

qastar <-p><-y><-i__><-u__><-t ><-q__> obsfile <attfile>where -p use the gff cre_te_ from previous run of

aastar {name input via obsfile) to

recompute printed output (attfile not used).where -y use the Y star tracker instead of the Z.

where -l___ Oefines _he Oelta angle reflecting t_e low

nolse thre_iqoio set_inc_ fo_ spotting s%ars

v;here -u__ oefines the oel_a angie re_lect_ng tt_e mior,

noise threshold setting for spotting starswhere -t oefines maximum time difference allowable

oetween input ouaternionE and observations

An input observation file( oDsfiie) and attitude file( attfile) aperequired

inputs (except when using the <-p> option, see above.

The Z star tracker is assumed unless the -y option is requested.The options are parsed and the appropriate variables are set.

Output text is written for each interval where two consecutiveobservations

are fixed on the same inertially fixed object. This interval isaccumulated.

The text includes the following information: time of beginning,

"star",'iedit",duration of interval,

average angle over the interval. An output gff file is created with the

name the same as the input obs file plus the suffix cT The data onthe

_ite is:time of the end of interval, "star",mode,azimuth,elevation andangle.

NOTE: The angle placed on each frame is the angle between the pointingvectors represented by the previous valid frame and the current frame.

star track

de_ermines star obs

frame current data from obs file

TRW Houston System Services 1 - (printed 12/18/86)

qastar.c(3) (Fman) qastar.c(3)

frame2 current aata from attitude file that sDanframe

ge_angleframe current data from _nertial star tracker angle gff file

infile not used

retrieves the _nertial pointin# angle difference

test_print

now

angle

end

time tag of current vector

angle measure Detween last inertial

point_ng vector and current vector

time tag of last vector

this function tests the angle tolerance for printe_ output

TRW Houston System Services 2 - (printed 12/18/86)

qasv.c(3)

ORIGL_,,A,. P,-_,,,.._ !,3

OF POOR QUALITY

(Fman) qasv.c(3)

NAME

main, sensed_vel - Summarizes the sensed velocity file and creates a sensed

acceleration file

SYNOPSIS

int main(argc.argv)

int argo;

char =*argv;

char =sensed.vel(frame,ptr)

char *ptr:

char _frame;

DESCRIPTION

_ain

qasv Drov_oes output to stdout documenting e_ited sensed velocities and

DuPn interva!s. Usage:

qasv <-e><-b > file1 .....

where -e is the maximum acceptable sensed acceleration

(default IOO_

-t is the mimimum burn sensed acceleration

(default ,OO3S9)

Tne options are carseC and the appPODriat% variables are set. Tiqe f4les

are Da?seo anG OUTPUT Text is written until the iasz fi_e has Dean

the next file is Drocessed. A gff file is generated containing thesensed

acceleration vectors and the magnitude of the sensed acce]eration al

limes

of events. • The frame id for this file is "sacc."

For each point >e or >b a record is written to stdout containing start

time. "val]c" or "edit", "sacc'. delta time, arc magnitude of the sensed

acceleration. The intervals ar._ not accumuiatee

sensed_vel

computes semse_ accel. & documents interval

ptr pointer, not used

frame current data for file

TRW Houston System Services - 1 - (printed 12/18/86)

rdwt.c(3) (Fman) rdwt.c(3)

NAME

main, write file - write a subset of a file with user specified frame

and time

id

SYNOPSIS

ink maim(argc.argv)

int argc;

char =*argv;

cmar ,write_file(frame,ptr)

char- *ptr;

char ,frame;

DESCRIPTION

main

QOwt read in a file ana write to the file with user specified frame

time. Usage:

rdwt <-f ><-b__><-e> filewhere -f frame io iaefault no cneck on frame Id

-b oegin time (def&ult to file begiq time}

-e end time (default to file end tlme_

The ootions are barmen and the approDr,ate variables are set.

is D_med and O_tDut bima_y f_ie _ written. If inDu_ fi_e 1s

unavailable, an error message _s generated.

write file

D_r pointer, not usec

frame current frame write to a file _,ritr user specigied time

frame io

and

Tr_e file

and

TRW Houston System Services 1 - (printed 12/18/86)

read_set.c(3) (Fman) read_set.c(3)

NAME

main, read_set, print_record -

taOe output processor

reads SET file which is output from sensor

SYNOPSIS

main(argc.argv)

int _rgc;

char *_argv;

void read_set()

char _print_record(time,count)double time;

int _count;

DESCRIPTION

main

read set reads in _ b_nary file create_ by the stop processor

am¢ provides a printe_ output option over a specif#ed

_Ime sDan

-f indicates file name of SET fiie

-b indicates beg_n time in #m= seconds,

-e indicates last t_me im gmt seconds

-p__ indicates print frequency oDtior_Nonpositive means first ano last only

TRW Houston System Services 1 - (printed 12/18/86)

read_sit.c(3) (Fman) read sit.c(3)

NAME

main, read_sit, print_recoro - Pead the SIT Oat8 output by stop

SYNOPSIS

main(argc,argv)

int argc:

char _aPgv;

void read sit()

char -print_record(time,count)

double time;

int _count;

DESCRIPTION

main

read_s_t reads in a binary file create_ oy the stoo processor

and provides =-, printed output opt#on over a speoi÷ie¢

time span

-f in¢icates file nnme of SIT file

-b__ indicates beoin time ir gmt seconds

-e indicates lest =_me in gm: seconcs

-S irlolcetes Driqt freauencv OO_lor:

Nonpositive me_ first anc last omi_

TRW Houston System Services - I (printed 12/18/B6)

rlvsrl.c(3) (Fman) rlvsrl.c(3)

NAME

main, rlvsrl

SYNOPSIS

mai n(argc, argv)

int argc;

char _argv;

char _rlvsrl(frame!,frame2a,frame2b)_ouble _framel;

aoubte _frame2_;

double *frame2#;

DESCRIPTION

main

rlvspl reaos two relative trajectory files and determines thediference between states in UVW coorainates

TRW Houston System Services 1 (printed 12/18/86)

rptost.b(3) (Fman) rptost.b(3)

NAMErptost

SYNOPSIS

program rptost

DESCRIPTION

rptost

Converts roll/pitch to shaft/trunnion reference.

TRW Houston System Services - 1 - (printed 12/18/86)

search.c(3) (Fman) search.c(3)

NAME

File, Time, Radius, Begin, End. Prime_id, Second id, HelD. main,gff fiie procor

search -

SYNOPSIS

FILE _File;

double Time,Radius,Begin,End;

char *Prime _d[],*Second_id[];

int Help;

int main(argc,argv)

int argc;

char _argv;

void search()

DESCRIPGION

main

this program extracts intervals of Oesired info frames from the text files

produce0 D'> the PelDet qa processors _hePe the frames Rave irle genera] foreas follows:

time-tag(number} ID[string) INFO_TYPE(string) our'ation(numPer) number ...

the information used on each frame comes from the f_rst three fields out

the complete frame is read im and output if applicaD]e

invoke this function:

searcr_ -_ -_ -_ -r

where:

-b -e -P . . . -s ..

-h - indicates help option which displays primary andoependent labels available for extraction

The use of this option precludes all o_hers

-f - indicates the fie name of the input text file

-t - is the origin tine of interest

-r - is the radius about the origin which encioses the timeinterval of interest

-b - is the begin time of the specified interval of interest-e - is the end time o c the specified interval of interest

-p - indicates the lis: of frame IDs desired

-s - indicates the 1 is: of INFO TYPEs desired associatedwith the list of /Ds

TRW Houston System Services 1 - (printed 12/18/86)

sln2rl.c(3) (Fman) sln2rl.c(3)

NAMEmain,out_tel, out_coy, out_bias, file_size

SYNOPSIS

int main(argo.argv)

_nt ar,gc;char -_argv;

char -out rel(inframe)

char _inf_ame;

char =out_cov(inframe)char _inframe;

char _out_bias(inframe)char _inframe:

int file size(file id)

char ,,fiTe_id;

DESCRIPTION

main

slr,2ri r-eaas an arbitrary sizeo (nsol ; solution file outpul b\

elther the kaimar or smoothin£ filter ano genersTes

relative trajectory files for soiutlOr s_ales- Covarianoe file in tne form of UVW relative trajectory files

where the noise sigmas re#rese_ting the base statesolution and relative state solution ir, UVW o_

the base solution state are presenteo as a 12- elementvector an¢ the bias sigmas follow

bias solution _ile containing the bias solution for as many

obs solveo fo_ pe _ _r_mesin2ri <-r > fiiel <-c > file2 <-D > file3 <-n > nsol

<-s > file4

where -r indicates create the rel traj-c indicates create the covariamce soln file-b indicates cmeate the b_as soln file

-n is the s_ze of the solution vector

(default 16)

-s is the input solution file

TRW Houston System Services (printed 12/18/86)

stop.c(3) (Fman) stop.c(3)

NAME

main, stop - sensor tape output processor

SYNOPSIS

main(argc,argv)

int argc;

char =*aPgv;

char _stop(framel.frame2a,frame2b)

chap *frame1;

char _frame2a;

char _frame2b;

DESCRIPTION

main

stop reads in two files including a relative trajectory file

and a sensor data file which is created by the downlist

program specifically fop the purpose of writing two

binary files of SENSOR input data calle_ SIT are SET

-r _ inoicates file name of relative zraj f3]e

-S__ indicates file name of sensor oata file

frame2a

frame2b

the current frame from Sensor file 1

the frame from relative traj f41e 2 <= time o_ frame_

the frame fpoRi relative traj file 2 > time of framei

TRW Houston System Services - 1 - (printed 12/18/86)

aero.b(3) (Force) aero.b(3)

NAME

aero

SYNOPSIS

subroutine aero (rv,rvt,rsun,rnp,a)

aouble precision rv (3)

Ooubte precision rvt (6)

double precision rsun (3;

double precision rnp (3,3)

double precision a (3)

DESCRIPTION

aerc

Executive for eerooynamic effects on m50 acceleratiom an_ boay angutaracceleration.

rv

rvt

rsu_

rnp

m50 position of vehicle vector (input)

true of Gate state (input)

m50 position of sun vector (input)

mSO to true of date matrix (input)

m50 acceleration (ouput)

TRW Houston System Services (printed 12/18/86)

choky.b(3) (Force) cbody.b(3)

NAME

cbody

SYNOPSIS

subroutine cboay (mu,r,a)

double precision mu

_ouDie precision r (3)

aouPle precision a (3)

DESCRIPTION

cbody

Computes central bogy acceleration.

mu gravitational parameter (input)

position relative to central Dory

accelaration (output)

input)

TRW Houston System Services - 1 (printed 12/18/86)

cdrag.b(3) (Force) cdPag.b(3)

NAMEcarao

SYNOPSISsubroutineodrag [w,ad,f)doubleprecision w (3}douDieprecision ad_oubleprecision f (3)

DESCRIPTION

cdra9

Computes constant area _rag force.

w wind in body coordinates (input)

ad density of atmosphere (input)

f drag force (output)

TRW Houston System Services - 1 - (printed 12/18/86)

¢ylar.b(3) (Force) cyldr.b(3)

NAMEcylar

SYNOPSISsubroutine cyldr [wb,rho,fb)double#recision fb (3)aouD_eDrecision rho

_ouble precision wb (3)

DESCRIPTION

cyl_r

compute force an_ torque due to aerodynamic forces on a cylinder

fb drag force in body coordinates

rho atmospheric density

wD wind vetocity in body coordinates

TRW Houston System Services - 1 - (printed 12/18/86)

getm.b(3) (Force) germ.b(3)

NAMEgetm

SYNOPSISsubroutinegetm(t.m)doubleprecision tooubleprecision

DESCRIPTIONgerm

Fetchesmassfrom masstable.

t time massis desired (input)

m vehicle mass(output)

TRWHoustonSystemServices (printed 12/18/86)

harm.D(3) (Force) harm.b(3)

NAME

marm

SYNOPSIS

subroutine harm {rg,gg)

Oouble preclsion rg (3)

double precision gg (3)

ORIGINAL m,,_. IS

DE POOR qUALITY

DESCRIPTION

harm

Computes acceleration due to harmonic _e×pansion terms in gravitational

fiel_ of central body.

rg position vectcr of reference vehicles id earth-fixed COOrdinates(input)

gg acceleration in earth-fixed coordinates (output)

COMMENTS

Maximum 8tn Oe_ree, 8th order.

TRW Houston System Services 1 -- (printed 12/18/86)

solrad.b(3) (Force) sotrad.b(3)

NAME

solra_

SYNOPSIS

subroutine solrad (rv,rs,acc)

double precision rv (3)

aoubie precision rs (3)

oouDie precision ac_ (3)

DESCRIPTION

solraa

Computes acceleration due to solar radiatior, pressure.

rv mSO position of vehicle (input

rs mSO position of sun (input)

acc acceleration (output)

TRW Houston System Services 1 " (printed 12/18/86)

svelbs.b(3) (Force) svelbs.b(3)

NAME

svelbs

SYNOPSIS

subroutine svelbs (v,t,m,as)

integer v

_ouble brecision t

_oub]e precision m (3,3)

Oouble precision as (3)

DESCRIPTION

svelbs

Computes bias anO unbias of sensea acceleration.

vehicle id (input)

desired time (input)

DoOy to inertlal matrix (input)

as sensed acceleration (input/output)

TRW Houston System Services 1 (printed 12/18/86)

svftch.b(3) (Force) svftch,b(3)

NAMEsvftch

SYNOPSISsubroutinesvftch (ivloc, inc,tc,tnew)_ntegerivloc_nteger_=doubleorecision tcdoubleprecision tnew

DESCRIPTION

svftch

Computes sensed acceleration.

ivloc vehicle id (input).

inc step direction (input).

tc current time (input).

tnew next time (output).

TRW Houston System Services 1 - (printed 12/18/86)

tblook.b(3) (Force) tblook.b(3)

NAMEtblook

SYNOPSISsubroutine tblook (imx,ltb,tb,t,i)integer imxinteger ltbdouoleprecision tb [lib, lmx)doubleprecision tinteger i

DESCRIPTIONtblook

Finds first entry in a time increasing table that is at or before a giventime. The table is doubleprecison with the first slot the time, If allentries are after the time, an indexof zero is returned.

imx

ltm

_b

t

i

COMMENTS

max index to table (input)

aouole word length of taole entry (input)

table (input)

desired time [input)

index to t_ble (input/outPut)

The index must be _ni_i_tized to a value less tnan or equal to theindex value.

maximum

TRW Houston System Services 1 - (printed 12/18/86)

vntfch.b(3) (Force) vntfch.b(3)

NAMEvntfch

SYNOPSISsubroutinevntfc_ (v,tc,tnew)integer vdoubleprecision _cdoubleprecision tnew

DESCRIPTIONvntfch

Fetchesvent force of eachvehicle,

vehicle id (input)tc current time (input)

tnew newtime (input/output)

TRW Houston System Services 1 - (printed 12/18/86)

wndang.b(3) (Force) wnaang.b(3)

NAME

wndan9

SYNOPSIS

subroutine wnaang (w,ws,sb,cb,sa,ca)

_ouble precision w (3)

_ouPte precision WS

_ouble precision sb

double precision cD

double pre:ision sa

double precision ca

DESCRIPTION

wndang

Computes sines and cosines of sideslip and attack angles.

w

ws

sD

cb

Sa

Ca

wind in body coordinates(input)

wind speed(output)

sine of side siip angle(output)

cosine of side slip angle(output_

sine of angle attack(output)

cosine o_ angie attacK_o_tput)

TRW Houston System Services - 1 - (printed 12/18/86)

zutek.b(3) (Force) zutek.b(3)

NAME

zutek

SYNOPSIS

subroutine zutek (wb,rho,fb)

doubie preclsior_ w_ (3_

couple prec_slon rno

double precision fb (3)

DESCRIPTIONzutek

Computes aerodynamic force and torque using zuteck curve fit.

wb wind velocity in boay coordinates (input)

rho atmospheric density (input)

fb Orag force in oody coordinates (output)

TRW Houston System Services 1 (printed 12/18/86)

file2io.c(3) (Gbfile)

ORIGVT_AL m" _ IS

.OF POOR QUALITY

file2io.c(3)

NAME

file2io, get_next_frame - function for creating bracket times from

file.

second

SYNOPSIS

char-file2io(inframe,file_info)char _inframe;

char *file_info;

double _get_next_frame()

DESCRIPTION

file2io

inframe Oata frame of previouslly reaO gff

file infc file information of input gff

file2io sends the data frames which nave times Dracketting the time of t_einput frame time to the function specifiea in the input file structure.

Ne_e if no bracket interval available then nulls are sent. Warning: The

presence of static variables makes this function am unlikely canaiaate for

general use except for the purpose for which it was written. This purpose

_s to open and manipu!ate one fi]e pe-,e×ecution in _esDo;qce to pe_ng

invo_e¢ Dy fiteio

getnextframe

get the De×t frame , check first for end of file , check

frame id , check next for edit sTaTus if necessary

_ex= for proper

TRW Houston System Services I (printed 12/18/86)

fileinfo io.c(3) (Gbfile) fileinfo io,c(3)

NAME

fileinfo io - a gbf inout/output routine for recursive FILE_INFO structures

SYNOmSIS

char ,,filelnfo to{frame,file infol

char _frame:

char _file_info:

DESCRIPTION

fileimfc io

frame current frame from driver file

file info FILE INFO structure pointer see fileic.h

This routine enaDles the programmer to utilize the f_le_o process to oDtalneach frame from some input f_le and perform a mult_pie set of functions

each ef which result in a frame output tc _ soecific file. The output

process o = fiielo is not invoked. The power of this process is _n the

recurslve data structure FILE_INF0 (see fileio.h}.

TRW Houston System Services - 1 - (printed 12/18/86)

fileio.c(3) (Gbfile) fileio.o(3)

NAMEBaseTime,fileio - gff file input and output routine

SYNOPSIS

CALTIME BaseTlme:

int fileio( in file,out suffix,out size)struct FILE INF0 _in file;

char _out_s_ffix; --

int out_size;

DESCRIPTION

fi!eio

in file

out suffix

out size

structure aefining input file

suffix to be cateneatea to input file name for new file

size of output data recor, a:

if <0, same as input;

it =0, no output fiie;

if >0, output size.

file_o r'eaas a gff fiie ano creates a new gff file with datatrlat is # function of the _nput file at a subset of the time

points or, the input file.

TRW Houston System Services - 1 - (printed 12/18/86)

gbHBufMove.c(3) (Gbfile) gbHBufMove.c(3)

NAMEHStoHB,HBtoHS- movegbf header infor to and from buffer

SYNOPSIS

void HStoHB(_drbuf,gbf

GBFILE *gbf;char _ndrbuf;

void HBtoHS(gof,hdrbuf

GBFILEPTR gbf;chap *hdrbuf;

DESCRIPTION

HStoHB

shifts informatiom fr'om heaaer structure to buffer.

is set to the current aate in both structures.Tme uo_a_e Oate field

HBtoHS

shifts information from buffer to heaOer structure. The

record size, orig]rt, and time word pointer are also combuted

time offset

TRW Houston System Services 1 - (printed 12/18/86

gbfio.c(3) (Gbfile)

OF POOR QUALITY

gbfio.c(3)

NAME

gbfnew, gbfwrt, gbfopn, gbfcls.

FORTRAN and gPfile C routines

SYNOPSIS

gbfdfc, gbfops C interface between

void gbfnew(file,fname,hdri¢,joodes,wrdfrm,oate,dates,status)int _file;

char =fname;

char *hdrid;

char *joDdes;

int _wrdfrm;

int *date;

double *dates;

int *status;

void gbfwrt(file,dfrbuf,status)

int *file:

double _dfrbuf;

int _status;

void gbfopn(file,fname,status)

int -file;

char _fname;

int *S_US;

void gbfcl_(file.status}

int _fiie:

lnt _status;

void gbfdfc({i;e.dfrbuf,status)

lnt _fi]e;

double *dfrbuf;

int _status:

void g_fops(fnameJ

char _fname:

DESCRIPTION

gbfnew

file

fname

hdrid

jobdes

wrdfrm

_ate

dates

status

internal id

input file name

input header id

input, header tlescription

nQmber of bytes per frame

calendar base date- yr, mo, day, hr, min

seconds of base date

status flag

general new gbf create function

gbfwrt

genera] Write

TRW Houston System Serw{ces - 1 -(printed 12/18/86)

gbfio.c(3) (Gbfile) gbfio.c(3)

gbfopn

general open

gbfcis

general close

gPfdfcclose function for use with aownlist processor to close files

anO Olsp]ay header anO return begin/end times

then reope_

gbfoDs

open the file name for output display in place of stderr used if

the function gbf_fc above

accessing

TRW Houston System Services - 2 - (printed 12/18/86)

OR'_GINAL P,_,G-_ IS

OF POOR QUALITY

gbhead.c(3) (Gbfi]e) gbhead.c(3)

NAME

FileBaseTime, newGBF, gD_off, gbwhead,

heaOer operations

SYNOPSIS

gbrhead gbfi]e structure and

CALTIME FileBaseTime;

GBFILE _newGBF(name,size,tbyte,tbase,story,format)

int size,tbyte;

CALTIME *tbase;

char *name,*story,*format;

gbtoff(gbf)

GBFILE -gbf;

gbwhead(g_f)

GBFILEPTR gbf;

gbrhead[gof)

GBFILEPTR gDf;

DESCRIPTION

newGBF

forms new QDstruct_Jrear_8 sets input fields, Returns nu]7 pointe* isencounted

e_roP

gbtoff

set time offset for gbfile If re÷erence basetime is not set, it is setfile oasetime ant the time offset i5 null

tc

gbwhea_

writes neaOe_ _R_ormat_oR _toPed im current bu{fer t,? ÷_ ;e recorC

gbrhead

reads header recoro

TRW Houston System Services 1 - (printed 12/18/86)

gbio.c(3) (Gbfile) gbio.c(3)

NAME

gbpos, goread, gDwrite, gbdread, gbdwrite -

SYNOPSIS

i/o of gbfiles

gomos(gbf.rec]

GBFILE _gbf;

unsigned rec;

char _gb,'ead(gbf)

GBFILE _gbf;

int gowriteLgbf,data)

GBFILE -gbf;

char *data;

char *godread(gbf,rec)

GBFILE _gbf:

unslgne¢ Pec;

int gbdw_ite(gbf,rec.data)

GBFILE _gbf;

unE_gne_ rec:

Cha_ *oa_a;

DESCRImTION

gbpos

positions file pointer to desired record of referenced gbfile

goread

reaQs current recor_ of referenced gbfile and returns pointer, to _ata in

record. Pointer s_oul_ be recast by caller to desire_ record type. Errors

r'esu_: lrL lnval3o pointer value (0)

gbwrite

writes to current record of referenced gbfile returm_ng the number of the

bytes w*ittem. Note that the file is posec at the next record, errors

result in negative re_urn values.

gbdread

reaOs desired record of referenced gbfile an_ returns pointer to _ata in

record, pointer should be recast by caller to desired PeocrO type. errors

result in invalid pointer value (0)

gbdwrite

like gbwrite but the file is first positioned to the specified record.

TRW Houston System Services 1 - (printed 12/18/86)

gbmake.c(3) (Gbfile) gbmake.c(3)

NAME

makeGBF, makeGBData - gbfile structure allocations

SYNOPSIS

GBFILE _makeGBF(name

char _name;

char _makeGBData(gbf

GBFILE ,gbf;

DESCRIPTION

makeGBF

allocate space for GBFILE structure and set specified fields. Errors

result in null pointer being returned. FielQs are not set if pointers arenull

makeGBDa_a

_liocate space for GBFILE data Puffer. The size of a record is alsocompu_e_. If size is not a multiole of sizeof(lnt), the fields are reset so

tnat rsize = sizeof(in_)_int rsize. Errors result in null pointer beingretur_eG. Fields are not set if pointers are null

TRW Houston System Services - 1 - (printed 12/18/86)

gbopen.c(3) (Gbfile) gbopen.c(3)

NAME

gbclose, freeGBF, gDfree, gbopen, gbnew open, close and free of gbfiles

SYNOPSIS

voiC gbclose(gbf

GBFILEPTR gbf;

void freeGBF(gbf

GBFILEPTR gbf;

void gbfree(gbf)

GBFILEPTR gbf;

GBFILE _gbopen(name,mode)

char _name;

char _mode;

GBFILEmTR gbnewfname,size,tbyte.tDase,story,format,mode)

char _name;

char _mode;

int size;

int t_yte:

c_ar _story,_format;

CALTIME -toase;

DESCRIPTION

gbclose

closes file and updates header _f file ned e write key set

freeGBF

frees all space allocated to gbfstructure. WARNING dipe things may rappen

i _ file was not oDeneO with gbopen since it is assumeo that malloc was used

tc allocate space.

gDfree

closes file and frees all space allocate_ to it. WARNING dire tmings may

nappem if file was not opened with gbopen since it is assumed that ma!loc

was used to allocate space.

gbopen

name file path name

opens file specified by name with designated mode: read only read/write,

or append. File :_ust previously exist or error will result, returns

pointer to file Structure and assigns necessary Space such as buffer space

and space for the file packet. Read/write modes are:

P,R :read only (default)

b,B :read and write

a,A :append

errors return invalid pointer value (0) and are as follows: bad read/write

mode. unable to open file, unable to assign enough buffer space.

note that the file is positioned to the first record (record O) and ttqe

input buffer contains this record. NOTE only the first character of the

mode is considered and the default is read only.

NOTE: mode is type (char ,) not char, a null value (0) selects the

default.

TRW Houston System Services 1 (printed 12/18/86)

gbopen.c(3) (Gbfile) gbopen.c(3)

gbnew

name file path name

size record size in bytes

opens file specified by name with designated mode: read only read/write, or

append, file must oreviously exist or error will result, returns pointer

to file structure an¢ assigns necessary space such as buffer space andspace for the file #acket.

read/write modes are:

b,B =ream and write (_efault)

w,W = write only (causes error with #bclose)

errors return invalid pointer vaiue (O) an_ are as follows: bad read/write

mode, unaole to opem file, unable to assign enough buffer space,note that the file is positioned to the first record (record O) and t_e

input buffer contains this record. NOTE only the first character of the

mode is considered and the default is read/write.

NOTE: if the write on!y option is used, header records are not correoly

updated on closing _ne file. Invokin# gbclose or gbfree to close to willresult in am error.

TRW Houston System Services 2 - (printed 12/18/86)

gbprtd.c(3) (Gbfile) gbprtd.c(3)

NAME

gbfpheaa, fgbprt, gbpnead -

SYNOPSIS

vcid gbfphead(file,gbf)

FILE -file;

GBFILEPTR gbf;

void fgbprt(file,gbf)

GBFILEPTR g_f;

FILE _file;

void gbphead(gbf)

GBFILEPTR gbf;

display of abfile structures

DESCRIPTION

gbfphead

displays curren_ heaaer structure to specifiea f!le

fgbprt

aisplavs current header structure to specifiea file

gbpl_ead

disDI_V£ mesoer tc standaro out

TRW Houston System Services - 1 (printed 12/18/86)

gbtime.c(3) (Gbfile) gbtime.c(3)

NAME

gbtime - gb time

SYNOPSIS

char _gbtime(gbf,time)

GBFILE *gbf;double time;

DESCRIPTION

gbtime

positions file to last time before designated time and return pointer, todata in Puffer. If time before start of file, the first record is selected

(record number O) and if after the end time of the file, the last record is

selected. Errors result in an invalid data data pointer (0). The output

pointer snouio De recast to the data structure type by the calling

function, file search consists of binary search after checking that thetime is within _il_ bounds and an initial estimate of the desired record

record is obained by l_near interpolation

TRW Houston System Services 1 - (printed 12/18/86)

dctprt.b(3) (Gff) dctprt.b(3)

NAME

dctpr%

SYNOPSIS

subroutine dctprt (.lop,frame,out)intege_ ioo (_)

integer frame (_)

integer out

DESCRIPTION

_ctprt

Prints the dictionary from a GFF file.

iop i/o packet (input/output)

frame record buffer (input/output)

out print file unit number (output)

TRW Houston System Services 1 - (printed 12/18/86)

gfcls.b(3) (Gff) gfcls.b(3)

NAMEgfcls

SYNOPSISsubroutine gfclsinteger ioD (*)

integer stooutinteger filout

integer frame (_)

character dscrpt

character prgverinteger status

iop,stdout.filout,frame,_scrpt,prgver,status)

DESCRIPTION

gfcls

Closes a GFF file

iop i/o packet

steout stanQara output unit number

fi]out fi}e output unit number

frame frame buffer

dsorpt upaate oescripzion

prgver program name and version

status i/o status

TRW Houston System Services 1 (printed !2/18/86)

gfdict.b(3) (Gff) gfdict.b(3)

NAME

gfdict

SYNOPSIS

subroutine gfdlct ()op,frame,dict)

integer _op (-)

integer frame (_)character_20 diet (_)

DESCRIPTION

gfdictReturns the dictionary from the GFF file in _ usable form.

iop i/o packet

frame recora buffer (input/output)

diet dictionary (output)

TRW Houston System Services - I - (printed 12/18/86)

gfemsg.b(3) (Gff) gfemsg.b(3)

NAME

gfemsg

SYNOPSIS

subroutine gfemsg (xx,p,stQout,filout)

integer xx

integer p (_)

integer stdout

integer filout

DESCRIPTION

gfemsg

Displays error messages to time output file.

xx error type (inDput)

p i/o packet

stdout stanoard output unit number

filout file output unit number

TRW Houston System Services - 1 - (printed 12/18/86)

gfend.b(3) (Gff) gfend.b(3)

NAME

gfenQ

SYNOPSIS

subroutine gfend (iop.stdout,filout,frame,status)integer lop (*)

integer StdOUtinteger' fi]out

integer frame (_)

integer Status

DESCRIPTION

gfendUpdates the file header, and append the =end frame to the GFF file.

iop i/o packet(input/output)

stoout stanoard out unit number[input)

filou_ print file unit number(input)

frame frame buffer(input)

status 7/0 status{output)

TRW Houston System Services - 1 - (printed 12/18/86)

gffdsp.b(3) (Gff) gffdsp.b(3)

NAMEgffd$_

SYNOPSISsubroutine gff_sp (iop,out,frame._ict)

integer _op (*)

inteoer out

integer frame (*)

character dict (_)

DESCRIPTION

gff_spDisplays file information.

ioo i/o packet

out unit numoer of the output file

frame record Ouffer

Oict dictionary

TRW Houston System Services - 1 - (printed 12/18/86)

gfnew.b(3) (Gff) gfnew.b(3)

NAME

gfnew

SYNOPSIS

subroutine gfnew (1op,stoout,filout,name,unit,type,dscrpt,

prgver,f_ate,fsec,pdate,psec,frmsz,frame.spcblk.dic_,etatus)

integer iop (-)

integer stoout

integer filout

character name

integer unit

character type

character dscrpt

character prgver

integer foate (5)

_oubte precision fsec

integer p_ate (5}

oouble precision psec

integer frmsz

integer frame [frmsz)

integer spoolk (11}

character di:t (frmsz)

integer status

DESCRIPTION

gfnew

Creates _ new GFF file D_' doing the following: 1) Creates the i/c Docket

for GFF in_er-llDrar_, communications. 2) Creates the _ile header ano write

it to the GFF file. 3) Creates the _beg frame anQ write _t to the GFFfile.

iop i,,o packet (input/outpuT)

stdout standard output unit number (input)

filout print file unit number (input)

name file name (input)

unit GFF file unit number (input)

type file type (input)

dscrpt file description (input)

prgver program name and version

fdate file base date - ymdhm (input)

fsec file base date -sec (input)

b_ate program base date - vmdhm (input)

psec program base date -sec (input)

frmsz frame size (input)

frame output record (file output)

spcblk block of information particular to the file type (input)

diet input dictionary (input)

status i/o status (output)

TRW Houston System Services 1 (printed 12/18/86)

gfnew.b(3) (Gff) 9fnew.D(3)

TRW Houston System Services - 2 - (pPinted 12/18/86)

gfopen.b(3) (Gff) gfopen.b(3)

NAME

gfopen

SYNOPSIS

subroutine gfoben (iop,stdout.filout,name,unit,p_ate,psec,rwflg,

frame,s_atus)

integer iop (_)

integer st_out

integer filout

character name

integer unit

integer frame (*)

integer pdate (5)

double precision psec

integer rwflg

integer status

DESCRIPTION

gfopem

Opens an existing GFF file an_ set up tne i/o packet.

i0_

St¢OUt

fi]out

name

uni_

frame

pOa_e

pse:

rwf_g

_/o packet

standard output unit number

orint file Unit number

name of G m= file to ooen

unit mumber on which to open the GFF file

frame buffer.

program base Qate (ymdhm)

brogram base date [sec)

read/write flag

status i/o status

TRW Houston System Services - i - (printed 12/18/86)

gf read. b( 3 ) (Gf f ) gf read. b( 3 )

NAME

gfread

SYNOPSIS

subroutine gfread (iop,stdout,filou_,status,timtag,recnum)integer _op (_)

integer st_out

integer filout

integer status

double precision timtag

integer recnum

DESCRIPTION

gfread

Converts the timetag from brgram base time to file base timethe reoor_ number of the frame.

iop io packet

stdout standard output unit number

filout print file unit number

status OUtDUt status

timtaQ timetag

recnum curremt record number

and returns

TRW Houston System Services 1 - (printed 12/18/86)

gfrhdr.b(3) (Gff) gfrhdr.b(3)

NAME

gfrhOr

SYNOPSIS

subroutine gfrhor (hdr,iop,hdrsz,frame)integer ndrsz

integer nor (nOrsz)

integer iop (*)

integer frame (_)

DESCRIPTION

g{rhdr

Reads the neaOer from the GFF file.

hdrsz number of words in the header (input)

hdr header to de written to the GFF file (output)

iop 1/o packet

frame frame buffer

TRW Houston System Services (printed 12/18/86)

gftime.b(3) (Gff) gftime.b(3)

NAME

gftime

SYNOPSIS

subroutine gftime [iop,stdou_,filouz,time,_naex,status)

integer lop (_)

integer stdout

integer fi]out

doub}e precision time

integer index

integer status

DESCRIPTION

gftime

Returns the index of the first record whose time is less than the time

specified. If the time specified is past the end of file, then the index of

the last frame is returned, tf the time specified is before the beginningof the fi_e, t_en an error is returned.

lop

stdout

filout

time

index

i/o packet

standaro output unit number

print file unit number (output)

time to searcr, for (inPut/output)

in.e× the the record reauested (inout/output)

status error status (output)

TRW Houston System Services - 1 (printed 12/18/86)

gftims.b(3) (Gff) gftims.b(3)

NAME

gftims

SYNOPSIS

subroutine gftims iop,stdout,filout,timei.timeo,index.status)

integer' iop (-)

integer filout

integer stoout

double precision t_mei

double precision timed

integer index

integer status

DESCRIPTION

gftims

Returns the index of the first record whose time is less than the time

specifle_. If the time specified is past the end of file, then the index of

the last frame is returned. If the time specified is before the beginningof the fi}e, then a_ error is returned,

ion

filout

stoout

time!

timed

index

_/o packet

print file unit number

s_an_arO OutDu_ unit numbs _

D_o_raM _]me tc fln_ (inout)

fiie time founa (output)

index the the record requested (_nput/output}

status error status (output)

TRW Houston System Services 1 - (printed 12/18/86)

gfwhOr.b(3) (Gff) gfwhdr.b(3)

NAME

gfwhdr

SYNOPSIS

subroutine gfwhar (ndr,iop,harsz)integer hdrsz

integer hdr [harsz)

integer iop (_)

DESCRIPTION

gfwhdr

Writes the reader, to the GFF file.

hdrsz number Of words in the header [input)

hdn header to be written to the GFF file (output)

iop i/o packet

TRW Houston System Services 1 - (printed 12/18/86)

gfwrit.b(3) (Gff) gfwrit.b(3)

NAME

gfwrit

SYNOPSIS

subroutine gfwrit (iop,stOout,fiiout,sratus,timtag,recnum)

integer iop (_)

integer staout

integer filout

integer status

aouble precision timtag

integer recnum

DESCRIPTION

gfwrit

Converts the timetag from prgram base time to file base timethe recora number of tne frame.

iop io packet

staout stanoard output unit number

filout print file unit number

status ou:But status (output;

tiara# timetag (_nbut/outpu_]

recnum current record numbe _ (output/

and returns

TRW Houston System Services I - (printed 12/18/86)

hdrprt.b(3) (Gff) hdrprt.b(3)

NAME

hdrprt

SYNOPSIS

subroutine hdrprt (1o#,out)

integer iop (*)

integer out

DESCRIPTION

h_rprt

Prints the header record from an GPF file.

iop i/o packet

out output unit number

TRW Houston System Services 1 - (printed 12/18/86)

icshft.b(3) (Gff) icshft.b(3)

NAMEicshft

SYNOPSISsubroutine icshft (n,a,d)integer ninteger e (n)integer _ [n)

DESCRIPTION

icshft

Moves a word from location to another.

character to an integer.

n dimension of a and e (input)

a word to move from (input)

d word to move to (output)

This would typically be _rom a

TRW Houston System Services 1 - (printed 12/18/86)

iopprt.b(3) (Gff) iopprt.b(3)

NAME

iopprt

SYNOPSISsubroutine iopprt

integer out

integer ip (_)

(out,ip)

DESCRIPTION

iopprt

Prints tne i/o pa6ket.

out output unit num_er

ip i/o packet

TRW Houston System Services 1 (printed 12/18/86)

ixatm.b(3) (Input) ixatm.b(3)

NAME

ixatm

SYNOPSIS

Subroutine ixatm

DESCRIPTION

ixatm

Inout of common block xxatm,

TRW Houston System Services I - (printed 12/18/86)

ixbias.b(3) (Input) ixbias.b(3)

NAME

ixbia$

SYNOPSIS

subroutine ixbias

DESCRIPTION

ixbias

Input of common block xxbias.

TRW Houston System Services 1 (printed 12/18/86)

ixcon.b(3) (Input) ixcon.b(3)

NAMEixcon

SYNOPSIS

subroutine ixcon

DESCRIPTION

ixcon

Input o{ common block xxcon.

TRW Houston System Services - 1 - (printed 12/18/86)

ixdata.b(3) (Input) ixaata.b(3)

NAMEixaata

SYNOPSIS

suDpoutine ixdata

DESCRIPTION

ixdata

Input of common block xx_ata.

TRW Houston System Services 1 - (Drinted 12/18/86)

ixdprm.b(3) (Input) ixdprm.b(3)

NAME

ixdprm

SYNOPSIS

subroutine ixdprm

DESCRIPTION

ixdprm

Input of common block xx_prm.

TRW Houston System Services - 1 - (printed 12/18/86)

ixerth.b(3) (Input) ixerth.b(3)

NAME

ixerth

SYNOPSIS

subPouTine ixerth

DESCRIPTION

ixerth

Input of common block xxerth.

TRW Houston System Services - I - (printed 12/18/86)

ixfile.b(3) (Input) ixfile.b(3)

NAME

ixfile

SYNOPSIS

subroutine ixfile

DESCRIPTION

ixfile

Input of common block xxfile.

TRW Houston System Services - 1 - (printed 12/18/86)

ixgnrl.b(3) (Input) ixgnrl.b(3)

NAME

ixgnrl

SYNOPSIS

subPoutine ixgnrl

DESCRIPTION

ixgnrl

Input of common btock data.

TRW Houston System Services - 1 - (printed 12/18/86)

ixgraf.b(3) (Input) ixgraf.b(3)

NAME

ixgraf

SYNOPSIS

subroutine ixgraf

DESCRIPTION

ixgraf

Input of common olock xxgraf.

TRW Houston System Services - I - (printed 12/18/86)

i>'grav.b(3) (Input) i xgrav.t3(3)

NAMEixgrav

SYNOPSIS

subroutlne ixgrav

DESCRIPTION

ixgrav

Input of common block data.

TRW Houston System Services 1 - (printed 12/18/86)

ixinit.b(3) (Input) ixinit.b(3)

NAMEixinit

SYNOPSIS

Subroutine ixinit

DESCRIPTION

ixlnit

Input of common #lock xxinit.

TRW Houston System Services - 1 - (printed 12/18/86)

ixkal.b(3) (Input) ixkal.b(3)

NAME

ixkal

SYNOPSIS

subroutine ixkal

DESCRIPTION

ixkal

Input of common block xxkal.

TRW Houston System Servioes - 1 - (printed 12/18/86)

ixmas.b(3) (Input) ixmas.b(3)

NAME

ixmas

SYNOPSISsubroutine ixmas

DESCRIPTION

ixmas

Input of common block xxmas.

TRW Houston System Services - 1 - (printed 12/18/86)

L

ixmax.b(3) (Input) ixmax.b(3)

NAME

ixmax

SYNOPSIS

subroutine ixmax

DESCRIPTION

ixmax

Input of common block xxmax.

TRW Houston System Services 1 (printed 12/18/86)

ixmisc.b(3) (Input) ixmisc.b(3)

NAMEixmisc

SYNOPSISsuDroutineixmisc

DESCRIPTION

ixmisc

Input of common block xxmisc.

TRW Houston System Services - 1 printed 12/1B/86)

ixmoon.b(3) (Input) ixmoon.b(3)

NAMEixmoon

SYNOPSIS

subroutine ixmoon

DESCRIPTION

ixmoon

Input of common block aata,

TRW Houston System Services I - (printed 12/-18/86)

ixnflz.b(3) (Input) ixnflz.b(3)

NAMEixnflm

SYNOPSISsubroutine ixnflz

DESCRIPTIONixnflz

Input of commonblock xxnflz.

TRWHoustonSystemServices - 1 - (printed 12/18/86)

ixprnt.b(3) (Input) ixprnt.b(3)

NAME

ixprnt

SYNOPSIS

subroutine ixprnt

DESCRIPTION

ixprnt

Input of common biock xxprnt.

TRW Houston System, Services - 1 - (printed 12/18/86)

ixprop.b(3) (Input) ixprop.b(3)

NAMEixprop

SYNOPSISsubroutine ixprop

DESCRIPTION

ixproD

Input of common block xxprop.

TRW Houston System Services 1 - (printed 12/18/86)

ixqcrv.b(3) (Input) ixqcrv.b(3)

NAMEixocrv

SYNOPSISsuDroutineixqorv

DESCRIPTION

ixqcrv

Input of common b]ock xxqcrv.

TRW Houston System Services - 1 - (printed 12/18/86)

ixqgen.b(3) (Input) ixqgen.b(3)

NAMEixqgen

SYNOPSISsubroutine ixqgen

DESCRIPTIONixqgen

Input of commonblock xxqgen,

TRWHoustonSystemServices 1 - (printed 12/18/86)

ixqprm.b(3) (Input) ixqprm.b(3)

NAME

ixqprm

SYNOPSIS

subroutlne ixqDrm

DESCRIPTION

ixqprm

Inou_ of common block xxqprm.

TRW Houston System Services (printed 12/18/86)

ixrpst.b(3 (Input) ixrpst.b(3)

NAME

ixrpst

SYNOPSIS

subroutine ixrpst

DESCRIPTION

ixrpst

input for common block xxrpst.

TRW Houston System Services I - (printed 12/18/86)

ixscov.b(3) (Input) ixscov.b(3)

NAME

Jxscov

SYNOPSIS

subroutine ixscov

DESCRIPTION

ixscov

Input of common block xxscov.

TRW Houston System Services - 1 - (printed 12/18f86)

ixsen.b(3) (Input) ixsen.b(3)

NAMEixsen

SYNOPSIS

subroutine ixsen

DESCRIPTION

ixsen

Input of common block data.

TRW Houston System Services - 1 (printed 12/18/86)

ixsprm.b(3) (Input) ixsprm.b(3)

NAME

ixsprm

SYNOPSIS

subroutine ixsprm

DESCRIPTION

ixsprm

Input of common block xxsprm.

TRW Houston System Services - I - (printed 12/18/86)

ixsptm.b(3) (Input) ixsptm.b(3)

NAME

ixsDtm

SYNOPSIS

subrou$ine ixsDtm

DESCRIPTION

ixsptm

InDut of common block x×sptm.

TRW Houston System Services (printed 12/18/86)

ixsun.b(3) (Input) ixsun.b(3)

NAME

ixsun

SYNOPSIS

subroutine ixsun

DESCRIPTION

i×sun

Input of common block xxsun.

TRW Houston System Services 1 - (printed 12/,18/86)

ixsvbi.b(3) Input) ixsvbi,b(3)

NAME

ixsvbi

SYNOPSIS

subroutine ixsvbi

DESCRIPTION

ixsvoi

Input of common block xxsvbi.

TRW Houston System Services 1 - (printed 12/18/86)

ixtime.b(3) (Input) ixtime.b(3)

NAME

ixtime

SYNOPSIS

subroutine ixtime

DESCRIPTION

ixtime

Input of common block xxtime.

TRW Houston System Services 1 - ,(printed 12/18/86)

ixtoff.P(3) (Input) ixtoff.b(3)

NAME

ixtoff

SYNOPSIS

subroutine ixtoff

DESCRIPTION

ixtoff

Input of common block xxtoff.

TRW Houston System Services 1 - (printed 12/18/86)

ixusys.b(3) (Input) ixusys.b(3)

NAMEixusys

SYNOPSIS

subroutine iXUSyS

DESCRIPTION

ixusys

Input of common block xxusys.

TRW Houston System Services - 1 - (printed 12/18/86)

i×vcx.D(3) (Input) ixvcx.b(3)

NAMEi XVCX

SYNOPSIS

subroutine ixvox

DESCRIPTION

ixvcx

Input of common block xxvcx.

TRW Houston System Services 1 - (printed 12/18/86)

ixvnt.b(3) (Input) ixvnt.D(3)

NAME

ixvnt

SYNOPSIS

subroutine ixvnt

DESCRIPTION

ixvnt

Input of common block xxvnt.

TRW Houston System Services 1 - (printed 12/18/86)

lint.b(3) (Interpolate) lint.b(3)

NAME

lint

SYNOPSIS

subroutine lint (n.x,w,fac,z)

integer

double precision x (I

double p_ecision w

double precision fac 1)

double precision z

DESCRIPTION

lint

Lagrangian interpolation.

n order of the interpolation to De used (input)

x the table of known arguments (input)

w the argument to which the function value

[input)

table of lagrangian factors (input)

the interpoiatea value (output)

fac

z

COMMENTS

is _o be interpolated

ThE taDie Og lagranglan factors must have been initialize: b>& C&_] tc thesubroutine 1 intin.

TRW Houston System Services 1 - (printed 12/18/86)

lintin. D(3) (Interpolate) lintin.b(3)

NAME

lintin

SYNOPSIS

subroutine lintim (n,x,y,fac)

integer n

OouDle precision × (1)

Oouble orecision y (1)Oouble precision fac (t)

DESCRIPTION

l_ntir,

Initializes lagrangian factors for interpolation.

n

x

¥

fac

order of interpolation to be used (input)

table of known arguments of the function corresponding to y {input)

table of known vaiues of t_e function corresponding to x (input)

table of iagrangian factors (output}

TRW Houston System Services - 1 - (printed 12/i8/86)

lrntrp.b(3) (Interpolate) lrntrp.b(3)

NAME

Irntrp

SYNOPSIS

suDroutine ]rntrp (tl,xl,t2,x2,t,x)

aouble pr.eclsion tl

doub]e precision xl (6)

_ouPle precision t2

_ouble precision x2 (6)

double precision t

douDle precision x (6)

DESCRIPTION

lrntrp

LEAR interpolation method for position and velocity.

tl first known time (input),

xl known state at time tl (input).

t2 second knowm tlme [input}.

x2 known state at time t2 (input).

_esired time for in_erpoiation (input).

interpoia_e¢ state for. _lme I (OutDu=).

TRW Houston System Services I - (printed 12/18/86)

qintrp.b(3) (Interpolate) qintrp.b(3)

NAME

qintrp

SYNOPSIS

subroutine Qintrp (tl,ql,t2,q2,t,q)

double precision tl

oouble precision ql (4)doubie precision t2

double precision q2 14)double precision t

aouble orecision q (4}

DESCRIPTION

qintrp

Interpolates a quaternion from two input auaternions.

tl

ql

t2

q2

t

c,

time of attitude 1 (input)

_uaternion fo r interpolation (input)

time of at_i_uae 2 (input)

quaternlo_ for' interpolation (input)

time of desireo attituae I input)

att_tuoe auaterRiop (out#ut)

TRW Houston System Services 1 - (printed 12/18/86)

Qwntrp.b(3) (Interpolate) qwntrp.b(3)

NAME

qwntrp

SYNOPSIS

subroutine qwntrp (t,tl,ql,t2,q2,q,w)

double precision t

double precleiom tl

dOUDie precision q1 (4)

aouble precision t2

double precision Q2 (4)

double precision q (4)

double precision w (3)

DESCRIPTION

qwntrp

Interpolates a quaternion and rate from two _nput Quaternions.

t

tl

ql

t2

q2

w

t_me of desired attitude (input)

time of attitude 1 (input)

quaternior for _nterpolation (input)

time Of a%tituoe 2 [input)

quatern_om for _nterpolatlon (inDue)

a_l_ude oua_er_lon (output)

average angular rate (output)

TRW Houston System Services - 1 - (printed 12/18/86)

relntrp.c(3) (Interpolate) relntrp.c(3)

NAME

rtntrp, lrntrp -

SYNOPSIS

in_erpo]ation methods

ooubte -rtmtrp(t,x,tl.xl,t2,x2)double ±1:double *xl:

double t2;

double _x2;douole t;

double _x;

double -lrntrp(t,x,tl,xl,t2,x2)

double tl:

double *x!;

double t2;

double _x2;double t:

double _x;

DESCRIPTION

rtntrb

LEAR interDotatio_ method for- reiative sta_es

lrntrp

LagPangian ir}_erpo]_tion

TRW Houston System Services 1 (printed 12/18/86)

rlntrp.b(3) (Interpolate) rlntrp.b(3)

NAME

rlntrp

SYNOPSIS

subroutine rlntrp (iop,tm,n,rec,t,f,e0z,stat)

integer iop (_)

aouble precision tm

integer n

integer rec (n)double precision t (n)

double precision f (_)

double precision e (_)

oouble precision z in)

integer star

DESCRIPTION

rlntrp

Lagrang_an interpolation of RELBET GFF Centers n pt eDhem if neccessary

howeve * center routine must be initialized. This may be _one on the lnitlalca]i by setting the last time in the array is less than the 1st it may also

De done b_ a call to rlmidl.

lop _/o package for file (input)

tm deslreO time (input)

number of entries tc De found (input)

rec recorcs corresponaing to entr_es in e input/output)

array of tlme tags for entries

interpolation factors (input/output)

array buffer for entr'les (input/output)

interpolated value (length is same as file data frame length

(output)

star status flag: >=0 1s good, -1 is eof, e is error (output)

TRW Houston System Services 1 - (printed 12/18/86)

rtntrp.b(3) (Interpolate) rtntrp.b(3)

NAME

rtntrp

SYNOPSIS

suDroutine rtntrp (tl,xl,t2,x2,t,x)

double precision tldouble precision xl (12)

double precision t2

double precision x2 (12)

aouble precision %

double precision x (12)

DESCRIPTION

rtntrp

LEAR interpolation methoO for relative states.

tl

xl

t2

x2

t

x

first known _ime (input).

known state at time tl (input

secon_ known time (input).

known state at time t2 (input

desired t_me for interpolation [input).

interpolated state_ for time t (output).

TRW Houston System Services - 1 - (printed 12/18/86)

svntrp.b(3) (Interpolate) svntrp.b(3)

NAME

Svntrp

SYNOPSIS

subroutime svntrp (tl,vl,t2,v2,t,a)

_ouPle precision tl

aouble precision v_ (3)

aouo]e precision t2

oouDle precision v2 (3)

double precision t

douDie precision _ (3)

DESCRIPTION

svntrp

Interpolates acceleration from two sensea velocities.

tl

vl

t2

v2

t

known first time {input).

known first velocity (input).

Known secona time (input).

known secona velocity {input).

aesiPe_ time _nout).

aesire_ aoceler_t_or, toutDu_).

TRW Houston System Services 1 - (printed 12/18/86)

initlinput.¢(3) (Linput) initlinput.¢(3)

NAME

initin, setin, getin -

process

initialize

SYNOPSIS

void initin()

void setin(loc,name,dimtype)

char _]oc;char _name:

char *dimtype;

void getin()

the structure needed by the LINPUT

DESCRIPTIONinitin

initialize maximum memory allocation for INPUT structure array

setin

set the values for the ourren_ INPUT emtry and

positio_

increment _O next e_try

getir,

get the inputs froh tr, e user's stapdara i_ fi_e

TRW Houston System Services - 1 - (printed 12/18/B6)

lex.c(3) (Linput) lex.c(3)

NAME

yylen9, yymorfg, yytchar, yyin, yyout, yyestate, yylex, yyvstop, yycrank,

yysvec, yyto#, yybgin, yymatch, yyextra, yy] ineno, yytext, yylstate, yylso,

yyo!sp, yySbUf, yysptr, yyfn_, yyprevious, yylook, yyback, yyinput,

yyoutput, yyunput

SYNOPSIS

_nt _vleng;

int yymorf9;

lnt yytchar;

FILE *yyin,_yyout;

struoz yysv{ -yyestate;

yylex()

int yyvstop[];

struct yywork yycrank[];

Struct yysv_ yysvec[]:

_truct yvwork -yytoD:

struct yysvf *yybgin;

uchar yymetc_[];

uc_ar yyextra[];

int yyllneno;

Uther yytext[];

struct yySVf -yylstate[],--yylsp,''yyolsp;

uchar yysbuf[];

ucnar *yysptr;

int _yyfnd;

int yyprevious;

yylook()

yyback(p,m)int _D:

yyinput()

yyoutput(c)int c;

yyunDut(c)

int c;

DESCRIPTION

TRW Houston System Services - 1 - (printed 12/18/86)

]ex.c(3) (Linput) lex.c(3)

intend of yylex

yyextraUNISRC_ID@(#)2T.2 8_,/O2/26

yyolspchar yysDuf[YYLMAX]:

cha_-yysptr = yysbuf;

yyinDutthe following are only used in t_e }ex liDrary

TRW Houston System Services 2 - (printed 12/18/86)

linput.c[3) (Linput) linput.c(3)

NAMEnlist, vlist, linput, yyerror, newcell, setq, binop, unop, sum,sub,mult, ai\,, pwr

usuD,

SYNOPSIS

P CELL nlist,viist;

I input(input)

INPUT -input;

int yyerror(s)char ms;

P CELL newcell()

P CELL setqtn,v)

P CELL n,v;

P CELL b_nop(op.a,b)

P FUNCTION op;P CELL a,b;

P CELL unop(op,a)P FUNCTION o#;

P CELL a:

P CELL sum(a,#)

P CELL a,o;

P CELL sub(a,b)

P CELL _,b;

P CELL usub(a)

P CELL a:

P CELL mult(a,b)

P CELL a,b;

P CELL div(a,b)

P CELL a,b;

P CELL per(a,b)

P CELL a,D;

DESCRIPTION

linputL-input linput provides for L-input for other programs. The single input

is an array of type INPUT. INPUT is a structure of the form

{ char _name: char _loc; int dim; char -type}

name is the name as it should appear in the user's input, loc is e pointer

to where the input should be copiea at the eric of the input phase, aim isthe number of items to be stored, and type is the type of the data

(currenty "int", "double", "float .... char" or "string" or "string#").Note that for "string" types, dim is the number of strings, not the length

of the string however, for "string#" types the # is decoded as the lengthof the string and a test is made to verify that the input string is

consitent with the expected length. The final entry in the input array

should have a (char *)0 name.

TRW Houston System Services - 1 - (printed 12/18/86)

1input.c(3) (Linput) linput.c(3)

newcell

The newcell function for lists. Currently newcell simply calls on calloc

when needed, and makes no attempt at reclaiming storage no longer needeC,

setq

assign value tG namelist

binop

D_nary operations

unop

unary operations

sum

sum

sup

difference

USUD

unary minus

mult

multiply

div

diVlOe

!_wr

power

TRW Houston System Services 2 - (printed 12/18/86)

newcell.c(3) (Linput) newcell.c(3)

NAMEnewceil

SYNOPSIS

P CELL newcell()

DESCRIPTION

newcell

allocate sDace

TRW Houston System Services I - (printed 12/18/86)

prt_input.c(3) (Linput) prt_input.c(3)

NAMEprtin - print the contents of the input blocks one variable at a time

SYNOPSIS

void prtln(ioc,name,dimtype)char _loc;char _name;char _dimtype;

DESCRIPTION

prtinprint the contents of the input blocks one variable at a time

TRW Houston System Services 1 - (printed 12/18/86)

lists. C(3) (Lists) lists.c(3

NAME

nil, linit, Cons, inumber, _number, symbol, isatom, isinumber, isdnumDer

issymbo3, isfunction, eq, car, car, ivalue, avaiue, fvalue, svalue, appeno,

member, length, locate

SYNOPSIS

P_CELL nil;

int llnit(cell alloc)P CELL (*cell alloc)();

P CELL cons(a,b)

P CELL a,b;

P_CELL inumbe_(n)

int n;

P CELL anumPer(d)

aouole d;

P CELL symbol(s)C_ar _s:

int isatom[p)

P_CELL p;

in_ isinumber(p)

P CELL p:

int isdnumber(p)

PCELL p;

int issymbo](Q)

PCELL D

int isfunct_on(p

P CELL D

int eq(pl,p2)

P CELL pl,p2;

P_CELL car(p)

PCELL p;

P CELL cdr(p)

P_CELL p;

int ivalue(p)

PCELL p;

double dvalue(p)

P CELL p;

P FUNCTION fvalue(p)

P CELL _:

char *svalue(p)

P CELL p;

P CELL append(x,y)

P_CELL x.y;

int member(x,1)

TRW Houston System Services 1 - (printed 12/18/86)

lists.c(3) (Lists) lists.c(3)

P CELLx,l;

imt length(l)P CELL1;

P_CELLlocate(x,l,m)P_CELLx,l.m;

DESCRIPTIONlimit

initialization

tomstomscell constructor

inumberinteger mumoercell constructor

dnumber

double mumoer cell constructor

symDol

symbol eel] constructor

isatom

preaicate is eel1 atom?

is_numoer

predicate is cell integer?

isdnumber

predicate iE cell _ubie

issymbol_redicate i_ cei_ svmbc!?

is{unction

predicate: is cell function?

eq

predicate: are atoms equal?

car

return car of list

cdr

return cdr of list

ivalue

return ivalue of cell

dvalue

return avalue of cell

fvalue

return fvalue of cell

svalue

return svalue of cell

append

append list to list

TRW Houston System Services - 2 - (printed 12/18/86)

putexp.c(3) (Lists) putexp.c(3)

NAMEbutex;

SYNOPSIS

int putexo(e)P CELLe:

DESCRIPTIONputexp

output exppession_nsymbolic fonm

TRWHoustonSystem Senvices - 1 - (printed 12/18/86)

strsave.c(3) (Lists) strsave.c(3)

NAMEstrsave

SYNOPSIS

char _s_rsave(s)char *s;

DESCRIPTION

strsave

save string s somewhere

TRW Houston System Services 1 (printed 12/18/86)

strstore.c(3) (Lists) strstore.c(3)

NAMEstrstore

SYNOPSIS

cha _ _strstore(t)char *t:

DESCRIPTION

stpstome

store strin_ uniquely in array

TRW Houston System Services 1 - (printed 12/18/86)

acnvrt.b(3) (Math) acnvrt.b(3)

NAMEacnvrt, ai2rl, ai2dbl, arl2i, adbl2i

SYNOPSISsubroutine acnvrt (i,v,ivl,rv!)integer 1integer iv1 (_)reai rvl (i)_oubleprecision v (i)entry ai2rl (i,ivl,rvl

entry ai2dbl (i,ivl,v)

entry arl2i (i,rvl,ivlentry adbl2i (i,v, ivl}

rv1

v

ai2rl

DESCRIPTION

acnvrt

Converts vector arrays of one type to another type.

i dimension inaexes (input)

ivl intege_ vectors (input/output)

teat vector {in#ut/outout}

OOUDle precision vectors (output)

Shifts inteaer vector to reai vector.

a_2oDi

Shifts integer v_ctor _o QO_Die precislor vec_o_ _.

arl2i

Shifts real vector to _nteger vector.

adbl2i

Shifts _ouble precision vector to integer vector.

TRW Houston System Servtces - 1 - (printed 12/18/86)

ang2.b(3) (Math) ang2.b(3)

NAMEang2

SYNOPSISaoubleprecision _unctionang2(x)aoubleDrecision x

DESCRIPTIONang2

Reducesanglesoutside the range-pi to pi into that range.

input angle in radianswhich is to be put into t_e rangeof -pipi.(input)

to

TRWHoustonSystemServices 1 (printed 12/18/86)

arctan.b(3) (Math)

OR,_, .,.......

OF poz;r:_ ,_,,bALiTY

arctan.b(3)

NAME

arctan

SYNOPSIS

double precision function arctan (a,b)

double precisio_ a

double precision b

DESCRIPTION

arctan

Returns zero if botl_ arguments are zero _nd cemPuzes datan2 otherwise.

input argument

b input argument

TRW Houston System Services - 1 (printed 12/18/86)

arshft.b(3) (Math) arshft.b(3

NAME

arshft, vzero, rvzero, ivzero, vshift, ivshft,

i2cnar, i2real, i2dD1, char21, real2i, db121rvshft, ibshft, dbsnft

SYNOPSIS

subroutine arshft (i,v,v2,v3,ivl,iv2,rvl,xv,rv2)

integer i

oouPle precision v (1)double precision v2 (i)

_ouble precision v3 [i)

integer iv! (i)

integer iv2 (i)

real rvl {i)

character_4 xv (i)

real rv2 (i)

entry vzero (i,v)

entry rvzero (i,rvl)

entry ivzero (!,iv1)

entry vshift (i,v,v2)

entry ivshft [i, iv1, iv2)

ewqtry rvshft

entry ios_ft

entry dbshft

entry i2char

entry i2real

i,rvl,rv2)

i, iv!, Iv2]

i,v2,v3)

i,iv1,xv)

i,ivl,rvl)

entry i2dDi (i,iv!,v)

entry char2i (i,xv, ivl)

entry real2i (i,rvl,ivl}

entry db]2i (i,v,ivl)

DESCRIPTIONarshft

Moves data between arrays of different types (no conversion).

i

v

v2

vS

iv1

iv2

rvl

xv

dimension index (input)

vectors (input/output)

_ouble precision vectors (input/output)

double precision vectors (output)

integer vectors (input/output)

integer vectors (input/output)

real vector (input/output)

character array (input/output)

TRW Houston System Services - 1 (printe_ 12/18/86)

arshft.b(3) (Math) arshft.b(3)

rv2 real vector (input/output)

vzero

Zeros the vector.

rvzero

Zeros the Pea] vector.

ivzero

Zeros the integer vector.

vshift

Shifts the double p_eclslor vector v into v2.

ivshft

Shifts t_e integer vector iv1 to iv2.

rvshft

Shifts the real vector rvl into rv2.

iDshft

Shifts an integer arr_> szartin_-a_ i-ast element.

dbshft

Shifts an oouble array starting at last element.

i2char

Shifts integer vector to character.

i2real

Shifts integer vector to real vector.

i2dbl

Shifts integer vector to doubte precision vector.

char2i

Shifts integer vector to character.

real2i

Shifts integer vector to real vector.

dbl2i

Shifts integer vector to double precision vector.

TRW Houston System Services - 2 - (printed 12/18/86)

lsmin.b(3) (Math) lsmin.b(3)

NAME

lsmin

SYNOPSIS

subroutine Ismin (n,a,w,invtol)

integer n

double pPecisio_ a (*)

dOUble precision w (-)

double precision invto]

DESCRIPTION

Ismin

Inverts positive definite

vector.

symmetric matrix s_ored

dimension of matrix (input)

positive definite symetric matrix stored as lower

( i nDut )

inverse of a (output)

invtol toieranoe for singularity (input)

as lower trlangular

triangular array

TRW Houston System Services - 1 (printed 12/18/86)

m2qsub.b(3)

OF POOR QUALITY

(Math) m2qsub.b(3)

NAME

m2qsub

SYNOPSIS

subroutine m2qsub (m,q)

aouble precision m (3,3)

aouble precision q (4)

DESCRIPTION

m2qsub

Converts a rotational matrix to a auaternion.

rotational matrix (input)

quaternion to be generated (output)

TRW Houston System Services 1 (printed 12/18/86)

matrix.o(3) (Math) matrix.c(3)

NAMEmxm,mxmc,mxv,mtxv, mt, mtxm,mxmt-

SYNOPSIS

double *mxm(a,b,c.a]m)

in_ dim:

double _a,_D,*c;

double _mxmc(a,b,c,dim)

int dim;

double _a _D,*C;

double _mxv(y,a,x,dim)

int dim:

double *y *a,*x;

double *mtxv(y,a,x,dim)

int aim;

OOUble _y _a,_x;

double _mt(a,m,dim)

int Oim;

double _mtxm(a,D,c. Oim_

in_ d_m:

double *mxm_(a.b,c,dim)

int dim;

Square matrix operations

DESCRIPTION

mxm

set a : b c, i.e., form matrix product of b and c arc saves _n a. Matrices

are assume¢ to be stored by ROWS not columns.

mxmc

form matrix product of b and cano save3 in a. Matrices are assumed to be

storeO by COLUMNS not rows

mxv

multiply vector x by square matrix a and store at y. (y : a x). Matrices

is assumed to be stored by ROWS not columns.

mtxv

multiply vector x by transpose of square matrix a and store at y. (y : a x

). Matrix is assumed to be stored by ROWS not columns.

mt

gets the transpose of matrix b and stores in matrix a; i.e a : bT

_txm

set a = bT c,i.e., form matrix product of b transpose and c and save in a.

Matrices are assumed to be stored by ROWS not columns.

mxmt

set a : bcT, i.e., form matrix product of b and c transpose and saves in

a. Matrices are assumed to be stored by ROWS not columns.

TRW Houston System Services 1 - (printed 12/18/86)

mx3ops.b(3) (Math)

ORIGINAL p,_,..q_ IS,OF POOR QU,qLITy

mx3ops .b(3)

NAME

mx3ops, mvmu]3, mtxv3, mshft3, mzero3, ident3, smmu]3, mxmul3, mtxm3,mxm_3, mtran3, vadd3, svmul3, vsub3, cros. vnorm3, vunit3, vzero3, root3,

vshft3

SYNOPSIS

subroutine mx3oDs

double precision ml (3,3)double precision m2 (3,3)

oouble precision m3 (3,3)

double precision vl (3)

double precision v2 (3)

double precision v3 (3)

double precision x

entry mvmul3 (ml,vl,v2)

entry mtxv3 (ml,vl,v2)

entry msnft3 (ml,m2)

entry mzero3 (ml)

e_try ioe_t3 (ml)

er_try smmu13 (x,ml,m2

entry mxmu13 (ml.m2.m3_

entry mtxm3 (ml,m2,m3

e_r_ m×mt2 (ml,m2,m3

entry mtran3 (ml,m2)

emmry vaadR (vl,v2,v3

entry svmul3 (x,vl,v2

emtry vsub3 (vl,v2,v3)

entry cros (vl,v2,v3)

entry vnorm3 (vl,x)

entry vunlt3 (vl,v2)

entry vzero3 (vt)

entry vdot3 (vl,v2,x)

entry vshft3 (vl,v2)

DESCRIPTION

mx3ops

Various 3 dimensional matrix and vector operations.

ml double precision matrices (i/o)

m2 double precision matrices (i/o)

m3 double precision matrices (i/o)

TRW Houston System Services 1 (printed 12/18/86)

mx3ops.b(3) (Math) mx3ops.b(3)

v!

v2

v3

x

mvmuI3

double precision vectors (i/o

douPie precision vectors (i,/o

double precision vectors (i/o

scalar (input)

Does vector and matrix multipl ication (V2=MI_V1)

mtxv3

Multiplies vector by transpose of matrix. (V2=transpose(M1)_Vl)

mshft3

Sets one 3x3 matrix equal to another. (M2=M1)

mzero3

Zeroes out a 3x3 matrix. (MI=O)

ident3

Chan#es a square matrix to a identity. (M!=I)

smmuIS

MultiDl_es a scala r my a 3x3 matrix. (M2=x*M1)

mxmul3

Does matrlx multiplication. (M3=MI_M2)

mtxm3

Does matrix mu_tiolication, first

(M3=_ranspose(M1)_M2)

mxmt3

Does matrix mLltiplication, second

(M3=Ml_transpose(M2))

mtran3

Does matrix transpose. (M2=transpose(M1))

vadd3

Does 3-vector addition. (V3=VI+V2)

svmu13

Does scalar and vector multiplication. (V2=×_V1)

vsub3

Does vector subtraction. (V3=Vl-V2)

eros

Computes cross product. (V3=VlxV2)

matrix Is

matrix is

transposed.

transposed.

TRW Houston System Services - 2 - (printed 12/18/86)

mx3ops,b(3) (Math) mx3ops.b(3)

vnorm3

Computes vector magnitude. (x=nor(Vl))

vunit3

Normilizes the vector. (V2=unit(Vl))

vzero3

Zeroes out each com#onent of a vector. (Vl=O]

vdot3

Computes the Qot product of a vector. (c:Vl*V2)

vshft3

Sets one 3-vector equal to another. (V2=Vl)

TRW Houston System Services 3 - (printed 12/18/86)

mxops.b(3) (Math) mxops.b(3)

NAME

mxops, mxmu!, mvmul, mtxv, mxadd, mshift, mTran,

iaent, vada. vsuD, vdot, vnorm, vunit, svmul

mzero. imzero, rmzero,

SYNOPSIS

suaroutine mxops

integer i

integer ]

integer p

real rml (i,j)

integer

double

double

double

double

double

double

aouble

doodle

double

double Drec]s

doubie )recls

entry mxmul

entry mvmul

entry mtxv (

entry mxaaa

en:ry mshif_

entry mtran

entry mzerc

],j,D,rml,iml,ml,m2.m3,m,mt,vl.v2.v3.x,v,mm)

iml (i,j

3recision ml (i,j

3recision m2 (j,p

3recision m_ (i,p

3recislon m (i.j)

3recision mt [j,i

3reclsion vl (j)

3recision v2 (i)

precision v3 (i)

precision x

1on v (i)

ion mm (i,j

i,j,p,ml,m2,m3)

i,i,m!,vl,v2)

,j,m,v2,vl)

_,j,ml,m,mm)

(i,j,m!.m)

i,j,ml,mt)

i,j,ml)

entry imzero (i,j,im!)

entry rmzero (i,j,rml)

entry ident (i,3,ml)

entry vadQ (i,v,v2,v3)

entry vsub (i,v,v2,v3)

enlry vdot (i,v,v2,x)

entry vnorm (i,v,x)

entry vunit i,v,v2)

entry svmul i,x,v,v2)

DESCRIPTION

mxops

Performs various matrix and vector operations.

i dimension index (input)

j dimension index (input)

TRW Houston System Services - 1 - (printed 12/18/86)

mxops.b(3) (Math) mxops.b(3)

P

rml

iml

ml

m2

m3

m

mt

vl

v2

v3

x

v

mm

mxmu I

dimension index (input

real matrix (output)

integer matrix (output

double precision matrices (input)

double precision matrices (input)

m3 double precision matrices (output)

double precision matrices (input/output)

double precision matrices (output)

double precision vectors (input/output)

double precision vectors (input/output)

double precision vectors (output)

scalar (output)

double precision vectors (incur)

double pr'ecision matrices (output)

Performs matrix mulzi#lication.

mvmul

Performs vector, mawr >: multiplication.

mzxv

Performs m_trix caicu _tion.

mxaad

Performs malrix a_dit_on.

mshift

Shifts a matrix.

mtran

Transposes a matrix.

mzero

Zeroes a double precision matr'x.

imzero

Zeroes an integer matrix.

rmzero

Zeroes a real matrix.

ident

Performs matrix identity ooeration.

TRW Houston System Services - 2 - (printed 12/18/86)

mxops.b(3) (Math) mxops.b(3)

vadd

Performs vector addition.

vsub

Performs vector subtraction.

voot

Performs _o_ product.

vnorm

Performs vector normal ization.

vunit

Performs vector unitization.

svmut

Performs vector mu]Tip_catiom by sca_er.

TRW Houston System Services - 3 - (printed 12/18/86

nrm]zq.b(3) (Math) nrm]zq.b(3)

NAME

nrm]zq

SYNOPSIS

subroutine nrmlzq (q)

doubie precision q (4)

DESCRIPTION

nrmlzq

Normalizes i/o quaternion q for rot and mat entry' points.

q quaternion 1o be normalized (input/output)

TRW Houston System Services - 1 (printed 12/18/86)

prtarray.c(3) (Math) prtarray.c(3)

NAMEprt3mat, prt3vec, 3rt3tmat, fprtarray, prtarray

SYNOPSIS

int prt3mat(m,dscp)

aouble _m;

char *dscp;

int prt3vec(\',dscp)double *v;

ct_ar _dscp;

int prt3tmat(m,dscp)

double *m;

chap _Oscp;

int fprtarray(fl,dim,r.ow length,fmt,a)FILE -fl :

int dim,row_lengttq;char _fmt;

double _a;

int Drtarra:/(di_,rov,_length,fmt.a)

int dim.row_length:char -fmm:couple _a:

DESCQIPTION

The Oescr_p_ion field dscp is printed as a string followed my 1 ne_t ine.

prt3mat

d_splay 3 by 3 matrix m to _taout in 21. 14e format

prt3vec

dlsolay 3 vector v to stdout in 21.14e format

prt3tmat

display 3 by 3 transformation matrix m to stdout. A fixed point format

used with the assumption t_at the matrix is normalized,

is

fprtarray

print double precision array of dimension dim to specified file.

row_length specifies the number of elements per line that are to be

printed. If row_length is negative, each row is preceed by a count of the

number of elements that have been thus far printed. A null value of

row_length results in 5 elements per row being printed, fmt specifies a

format with which to print a single element. If fmt is null, then the %159

format is used. Note that format should have a leading tab or spaceseparator.

prtarray

as fprtarray except to standard out <stdout>

TRW Houston System Services - 1 (printed 12/18/86)

q2msuD.b(3) (Math) q2msub.b(3)

NAMEq2msuP

SYNOPSISsubroutine Q2msub (q,qO,m)

double precision q (4)_oubte precision GO

oouble precisio_ m (3,3)

DESCRIPTION

q2msub

Converts a quaternion into a Potat*onal matri×.

quaternion to be conver_,ed (input)

qO positive part of q(1) (input)

rotational matrix to be maae (output)

TRW Houston System Services - 1 - (printed 12/18/86)

qnops.c(3) (Math) qnops.c(3)

NAMEqxq, acxq, qxqc, qintp,qua_ernionoperations

qvrot, qvirot, odor, imatq, matq, normq

SYNOmSIS

aouble _qxq(q3,ql,q2)

OUATERNION qS,_l,q2;

double -qcxq(q3,ql,q2}

OUATERNION q3,ql,q2;

double _qxqc[q3,ql,q2)

OUATERNION q3,ql,q2;

double _qintp(q3,t3,ql,tl,q2,t2)

OUATERNION q3,_1,q2;

doub]e tS,tl,t2:

aouole *qvrot(vout,q,v)Oouble vout[],v[];OUATERNION q;

double _;qv!rot(vOut,q.v}double vout[],v[]:

OUATERNIDN ¢;

double _qdot(oodtoouDle oqdt[];

OUATERNION q;

couple w[];

q,v'}

double _imatq(q,tOUATERNIDN q

ooubie t[)[]

double _matq q,t)

OUATERNIDN qaouble t[][]

double *normq(q)

OUATERNION q;

DESCRIPTION

qxq

forms quaternion product, Sets q3 equal to ql times q2.

qcxq

Sets q3 to ql conjugate times q2.

qxqc

Sets q3 equal to ql times q2 conjugate.

qintp

performs a linear interpolation between ql and q2 defined at

times tl and t2 respectively to get the quaternion q3 defined at t3.

qvrot

Sets vout = qc x v x q; rotates the input vector to the system definedthe quaternion q.

by

TRW Houston System Services 1 - (printed 12/18/86)

qnops.o(3) (Math) qnops.c(3)

qvirot

Sets vout= q x v x qc; rotates the input vector to the system defined bythe quaternion q.

aQot

w anguiar velocity in body coordinates

compute time derivative of quaternion

imatq

Given the inverse of the matrix transformation from F to G, compute the

quaterion of the transformation from F to G. Code converted directly from

the Pascal of the OrDital Flight Simulation Utility Software UnitSpecifications (S. W. Wilson).

matq

call imatq and conjugate the quaternion

normq

call !metq an_ conjugate the _uaternion

TRW Houston System Services - 2 - (printed 12/18/86)

qrot.b(3) (Math) qrot.b(3)

SYNOPSISsubroutineqrot (q,qO,v,x)doubleprecision q (4)doubleprecision qOaou_leprecision v (3)doublebrecision x (3)

DESCRIPTION

qrot

Performs rotations of quaternions.

q quaternion (input)

qO quaternionn (input)

v vector (input)

x vector (output)

TRW Houston System Services - 1 - (printed 12/18/86)

qtnops.b(3) (Math) qtnops.b(3)

NAME

qtnops, qxq, qcxq, qxQO, qtom, qtoim, rot, irot, imatq, matq

SYNOPSIS

subroutine Qtnops

douole precision m (3.3)

double precision q [4)

double precision qO

_ouble precision ql (4)

double precision q2 (41)

double precision q3 (4)

douPle precision v (3)doubte precision x (3)

entry qxq (q!,q2,q3)

entry aoxq (ql,q2,q3)

entry qxqc (ql,q2.q3)

entry qtom (q,m)

entry qtoim (q,m)

entry rot (q,v,x)

entry irot (q,v,x)

entry imat_ im,q)

entry matq (m,q)

DESCRIPTION

qtnoosPerforms various qu_ternion c_er_ions. _Deter_ines an orthogona] m_ri×

re#resem_e_ by a quatern_on. _r,_nsfor.ms the components o= _ vecto _ ilq onecoordinate syste_ to those in another coo_¢inate syste_ rotated with

respect to the first in a way defined by the verso_ q.

m ortnogonal matrix (output)

q quaternion (input)

qO local variable

ql quaternion (input)

q2 quaternion (input)

q3 quaternion (output)

v input vector (input)

x output vector (output)

qxq

Sets q3 equal to ql time q2.

qcxq

Sets q3 to ql conjugate times q2.

qxqc

TRW Houston System Services - 1 - (printed 12/18/86)

qtnops.b(3) (Math) qtnops.b(3)

Sets q3 equa] to qi times q2 conjugate.

Gtom

Converts q to matrix m.

qtoim

Computes matrix of inverse rotation represented by' q.

rot

Uses q to transform v to x.

irot

Uses conjugate of q to transform v to x.

imatQ

Converts matrix m to inverse quaternion q.

matqConverts matrix m to uuaternio_ Q.

COMMENTS

1) The impu_ quaternion must

or_honormai.

D£ normailzeo. 2) Input matrix must be

TRW Houston System Services - 2 - (printed 12/18/86)

rmatrix.c(3) (Math) rmatrix.c(3)

NAME

rmxm, rmxmc, rmxv - double array operations

SYNOPSIS

oouble *rmxm(a,b,c,rowb,colb,colc)

in_ rowb,colb,colc;

double *a,*b,*c;

double ,rmxmc(B,e,c,rowb,oolb,colc)

int rowb,colb,co]c;

dOUble _a.*b,*c;

double _rm×v(y,a,X,_lm)

int dim:

double *y.*a,*x;

DESCRIPTION

rmx_

set a = b c, I.e., form matrix product of b and c and saves in a.

are assumeQ to De Stored by ROWS Dot columns.

Matrtces

_m×mc

form matrix pPoauct of b and c snd,saves in a. Matrices are assumes To De

s_ored b_, CDLOMNS not rows

rmxv

set y = a y, i.e., form product of matrix _ an_ recto - b aDO save

_4atri× is

assumed to be s_ored by ROWS nOt columms.

i r! y.

TRW Houston System Services 1 - (printeO 12/18/86)

sign.c(3) (Math) sign.c(3)

NAME

sign - sign operation

SYNOPSIS

double sign(a,b)

_ouble a,P;

DESCRIPTION

sign

perform sign change operatiom

TRW Houston System Services - 1 - (printed 12/18/86)

symxv.b(3) (Math) symxv.b(3)

NAME

symxv

SYNOPSIS

suoroutine symxv (ds,dx,s,x,y)integer dsinteger dx

Oouble Drecision s (ds)

double precision x (dx)

double precision y (dx)

DESCRIPTION

symxv

Multiplies a symmetric matrix stored lower triangularly by rowsvector.

us dimension of array containing symmetric matrix (input)

Q× dimension of vector (input)

s array containing symmetric matrix: tower triangular portion storedby rows (input)

vector tc be multiplied (input)

times a

oroauct vector (output)

TRW Houston System Services 1 - (printed 12/18/86)

tenrnd.b(3) (Math) tenrnd.b(3)

NAMEtenrnd

SYNOPSISsubroutinetenrnd (place,x)integer piacereal x

DESCRIPTIONtenrnd

Roundsoff values.

place decimalplace in which to round.(input)

x value to round(input/output)COMMENTS

Roundssmall values to zero.

rounds to secon_ digit, etc

TRW Houston System Services - 1 - (printed 12/18/86)

vector.c(3) (Math) vector.c(3)

NAMEvadd, vaddto, vdist, vdot, vfada, vfadato, vsub, vfmui, vrss, vset,vrunit - double array operations

vzero,

SYNOPSIS

double -vadd(a,D,c,dim)

int dim;

double *a,'b,*O;

double _vaddto(a,b,dim)

int d_m;

double _,*b;

double vdist(a,b,dim)

int dim;double _a,*b;

double vdot(a,b,_im)

int dim;

double _a,_b;

doubie -vfadd(_,b,factor,c,dim)

Imt dim;

double _a,_b,-c,factor;

double _vfadato(&,fa¢1o_.b,di _!

int dim:

double *a,*b,factor;

double ,_vsub(a.b,c,dim)

int dim;

double _a,_b,_c;

_oubie _vfmul(&,f&:_or ;D.dim)

double _a,_b,faotor;

double vrss(a,dim}int dim:

double *a;

#ouble _vset(a,b,dim)

int dim;

double _a,*b;

double *vzero(a,dim)

int dim;double _a;

double vrunit[unit,a,b,dim)

int dim;

double *unit,_a,*b:

DESCRIPTION

vada

array addition: set a : b + C

vaddto

add array to array b, i.e. a = a+b.

TRW Houston System Services - 1 - (printed 12/18/86)

vector.c(3) (Math) vector.c(3)

vdist

returns the root sum square cr Euclidean distance between the double arraysa and b

vqot

returns dot product of a and b

vfad¢

set a = b + factormc

vfaddto

multiply array b by factor and add result to array a. i.e. , a = a + f_b.

vsub

set a = _ - C

vfmul

set a : factor*b

vrss

returns root sum square norm of a

vset

set array a equal to b

vzero

set array e equal to 0

vrunit

returns the root sum Square Or Euclidean ois=ante betweem tne double arrays

a and b and stores unit vector from a to b in unit.

TRW Houston System Services 2 - (printed 12/18/86)

an]ists.c(3) (Message) enlists.o(3)

NAME

addANLitem, prtANLitem, prtANList - Adress anO Name lists

SYNOPSIS

int aodANLitem(aaress,name)

char _a_ress,_name;

int prtANLitem(adress,string

char *e_ress,-string;

void prtANList()

DESCRIPTION

addANLitem

Ad_ entry to adress/name list

okay. Returns 0 if list is full

Returns item n_mber (starting at 1) if

prtANLitem

searches adress/name lists and displays name and adress to stdout. Returns

item number [starting at 1) if item founC, C if not. If str_ng is notnull, _hen the string is printed i_ front of the name followed Dv _ Colonand _ Space.

OntANList

a_sDia_ adress/'name lis_ _o stoout

TRW Houston System Services 1 (printed 12/18/86)

datime.b(3) (Message) datime.D(3)

NAME

datime

SYNOPSIS

subroutine datime (unit)

integer unlt

DESCRIPTION

datime

Displays processor name, version, date and time.

uni_ output unit (input)

COMMENTS

Input p_ocessor name must De less than 57 characters.

TRW Houston System Services 1 - (printed 12/18/86)

gnamlist.c(3) (Message) gnamlist.c(3)

NAME

GNLgetName, fprtgnlist, Make_GNLIST, Add_GNList - manipulation ofstructures

namelist

SYNOPSIS

char "GNLgetName(aoress,nlist)

GNL ITEM _nlist;chat *adress;

void fprtgnlist(file,nlist_dsop)FILE *fite;

GNL ITEM *nlist;cha_ *dscp;

GNLIST _Make_GNLIST(list.name,maxlength,items)GNLIST _list;

char. *name,_items;

int maxlength;

int Add GNLlst(adress,ascp,list)char _a_ress,.dsop:

GNLIST _l ist;

DESCRIPTION

GNLgetName

finO entry _n name!ist with given aoress ano return

name pointer is returneO if,entry not founo.tme name. Null (0)

fprtgnlist

display namelist to stdout. List is precee_e_ by aescription Cscp anaconsists of octal adress, name followed by newilne

Nake_GNLIST

initialize and set up a namelist of a_resses an¢ names. Space is altocate_

for the list structure list and the list Duffer items if the pointers are

null. Else the givem space is used. Errors result in a null pointer bein 2returned.

Acd GNList

a_d entry to Namelist.

full, -1 is returned.Returns current number of items in list, If list is

TRW Houston System Services 1 - (printed 12/18/86)

iegrss.b(3) (Message] iegrss.b(3)

NAME

iegrss, gwarn, gerror

SYNOPSIS

subroutine iegrss (p,stdout,filout)

character p

integer stdout

integer fi;out

entry gwarn (p,stdout,filout}

entry gerror (p,staout,filout)

DESCRIPTION

iegrssGwarn aria gerror display warnings and errors ana keep the count of warningsand errors encountered.

message string (input)

StOOUt uni$ for terminal prin_ (input)

filout uni: for print output (input)

gwarn

D_sDlays uarnin_ aria accummu]ates counts.

gerrorDisp]ays error message and accummu]a_es counts.

TRW Houston System Services - 1 - (printed 12/18/86)

ingrss.b(3) (Message) ingrss.b(3)

NAMEingrss, ngrss, awarn, aerror, egrss

SYNOPSIS

subroutine ingrsscharacter p

entry ngrss

entry awarn (p)

entry eerror (p)

entry egrss

DESCRIPTION

ingrss

Cor_ta_ns entry points that provloe for the start and stop of all RELBET

processors. Ingrss is a generic starting point for all routines. Itdisplays the processor name, version, and the current date ana time via a

call to the routine datime. It also reads the first input image thatspecifies the execution mode and the calling processor for the suoordinate

execution mode. Egrss is a generic stopoing point for relbet routines. It

displays a Termination message and schedules the _neexecution of thecalling or ocessor if the execution was in the subordinate mode. Awarn and

aerror disp]ay warnlrlgs and errors ano Keep T_e co_nl of warn!l_gs anderror_ e_counteT_eG.

message string (input)

ngrss

displays name and version tc terminal.

awarn

Dispi_yE warning anQ accummulates counts.

aerr'or

Displays error message and accummulates counts.

egrss

Displays termination messages.

TRW Houston System Services 1 - (printed 12/18/86)

ioschk.b(3) (Message) ioschk.b(3)

NAMEioschk

SYNOPSISsubroutine ioschk (u,ios,s)

integer u

integer iosinteger s

DESCRIPTION

loschk

Checks the i/o status Nora for a fi)e and sets status flag to O=okay,

-l=eof, -It=error. if eof or error is aetected, a message is sent toterminal and print displays.

u unit number.

ios i/o status wora from iostat clause.

OUtDUt status word: O=okay. -l=en_ Of file, -It=error

TRW Houston System Services 1 - (printed 12/18/86)

msgdsp.b(3) (Message) msgdsp.b(3)

NAME

msgdsp, xdsD, xdsp2, starz, newpg

SYNOPSIS

subroutine msgdsp {x,ul,u2)character x

integer- ul

integer u2

entry xdsp (x,ul)

entry xdsp2 (x,ul,u2}

entry starz (ul)

entry newpg (ul)

DESCRIPTION

msgdsp

Displays messages to mDecified units. Xdsp d_sDlay character string tospecified unit. X_sp2 disp]ays c_arac_er string to two units un]ess theyare the same. The string is up to a '$' or to 80 characters if no '$' is

encountered. Starz dlsp]ay asterisos and newog f] lps a page.

x

ul

u2

xdsD

string to aisp]ay (input)

1st disptay unit (incur)

2nd display unit (input)

Dispiays string x to unit u!.

xdsm2

Dis#i_ys s_ring x to u_-_t ui,u2.

star:

Dispiays a line of asteriscs.

newpg

Flips a page in display file.

TRW Houston System Services 1 - (printed 12/18/¢6)

prt_util.c(3) (Message) prt_util.c(3)

NAME

fskip_lines, skip_lines, fprtStars, prtStars -

SYNOPSIS

fskip_lines(fOes lines)FILE _faes;

int lines;

skip lines(lines

int l_nes;

fprtStars(fdes,nl ines)

FILE _fcies ;

int nlines;

prtStars{nlines)int nl_nes:

display utilities

DESCRIPTION

fskiD_i_nesski#s specified number of lines b\, Drint ne_'lines to faes

skip_linessent specified numoe _ of newiimes to stOou=

fprtStars

Prints nl ines og 60 stars followed by _ cr to specified stream

#rtStars

Prints nl ines og 60 stars followed by acr to stdout

TRW Houston System Services - 1 - (printed 12/18/86)

ptrlists,o(3) (Message) ptrlists.c(3)

NAMEaddptr, rmptr, makeplist, freeplist - maintainpointer lists

SYNOPSIS

int addptr(plist.ptr)

PTRLIST *pl ist;char -_tr.;

int rmptr(plist,ptr)

PTRLIST *pl ist:

char *ptr;

PTRLIST *makepl_st(max,list)int max;

char -_1 ist;

void freepiist(ptrlist)

PTRLIST _ptrlist;

DESCRIPTION

Removes arc adds entr_es to pointer 11st. It entr\ not in ! ist memove has

no effect. If entry _n 1 ist tnen ad¢ has no, effect, returns tt_e number of

remaining pointers _r_ the tist unless add would result in tne me;: Oeingexceeded _r wthicr case - I _s returned The end of the Iist is alw_v_ markedmy anu! i pointer and 4= these functions are use¢ to edit the ! _st there

will be no duplication, removes only remove the first occurence from thebeginning of the list and then slide other entries dow._

addp_.P

add ptr to plist ret-urning location of ptr in 1 ist list is searched from

oeginning until null poif-_ter, ol- deslred pointer is TcunC." ",h-= ptr' is addedis _her, e _s ,_oom arid skiD_ec i= _ireaQy there i _ 'mo noo_, thor: the !entr_ o_tr, e l is! is s-t t: tn: max and - i _s Petur'mec

rmptr

remove ptr to plist returning number of 14st elements left list is searched

from beginning until nul] or desired ptr found any remaining 1 ist elements

are then shifted down and the number of pointers remaining is returned

makepl ist

creates a pointer. 1 ist structure and returns a pointer to it. The 1 ist

storage is also allocated and the contents in the input list are stored in.

this 1 ist up to the designated maximum max. If the input 1 ist is a null

pointer then no initialization occurs. The new list structure thus has its

private 1 ist independent of tt_e input 1 ist. Errors result in a null 1 istpointer betng retuPlqed

f reepl ist

f_ees storage for structure Dtrl ist. Di re events may ,happen _f the

st._ucture was not made with maltoc or makepl ist value of 0 is alwaysreturned

TRW Houston System Services 1 (printed 12/18/86)

ratetable.c(3) (Message) ratetable.c(3)

NAME

get_rate_table_value - fetch value from rate table

SYNOPSIS

doubl_ get_rate table_value(time.table)Oouble time;

TIMELINE PTR table;

DESCRIPTION

get_rate_table valuefetch value From rate table.

start of table.

Value is interpolatea even if time is before

TRW Houston System Services 1 - (printed 12/18/86)

stat_msg.c(3) (Message) stat_msg.c(3)

NAMEStat_Msg, Error_Count, Warning Count, StatErrExit, fprtFinish, prtFinish,

err_hocode, err_ooae, berror, bwarn, addefile, rmefile, setMaxErr - statusmessage display utilities

SYNOPSIS

char Stat_Msg[];

int Error_Count;

int Warning_Count:

int StatErrExit;

void fprtFinish(fdesFILE xfdes;

void prtFinlsh(J

vo_ err_hpoode(f)

FILE _f;

VOid err_code(f)FILE _f:

voi¢ oerror(msg.oode

char _msg:int coae;

void bwarn(msg,ooae)

char _msg;

int code;

i_t adaefiie(file_

FILE _file:

int rmefile(file)

FILE -file:

int setMaxErr(err,warn,exfunc)int err,warn;

int (-exfunc)();

DESCRIPTION

Displays error and warning messages to files specified b/ a list ofdisplay files.

status

The message is used as a format in a call to fprintf so that the integercode may be incorporated _n the message. If the let characte_ of the

message is a semicolon ';' then the current system error code and its

description is also written. If the first character is a colon ':' the the

HP code errinfo is written a s well as the system code. In these cases the

initial letter is dropped. Messages are written to a list of files aefault

for which is stderr and stdout however they may be Changed by the functions

addefile and rmefile. A maximum of 3 files may be specified, other onesare ignored.

The function setMaxErr sets the maximum number of errors and warnings that

are issued before a call to a termination routine is made. Null or negativevalues (default) result in no max error count check. The termination

function Exit is specified by the call. A null value results in the

TRW Houston System Services 1 (printed 12/18/86)

stat_msg.c(3) (Message) star_meg.c(3)

routine MaxErrExit being used for the Exit.

fprtFinish

writes final message to specified stream. Message includes error and

warning counts,

prtFinish

writes final message to stderr

err_hpcode

displays HP error coQe errinfo(2) to file

err coae

d_splays system error code to file see errno(2) for aetails. The code and

description are both displayed.

berror

prints message to all the error displays and increments the error count

bwarm

Drints message to a_ 1 the error displays an_ increments the warning count

addefile

add tile to list of a_splay files, returns to%al numoer of _isplay files.-I returnec if file camnot De adde_

rmefile

remove file from display files, returns total mumoer of 01splay fi3es.

setMa×Er_

specifies the max error count and max warning count. The function exfunc

is _nvoked if counts exceeded. The default o{ Exit (exit] _s set if exfunc

is null.

TRW Houston System Services - 2 - (printed 12/18/86)

str_store.c(3) (Message) str store.c(3)

NAME

Save_Str_Buf storing strings

SYNOPSIS

char _Save_Str_Buf()

DESCRIPTION

Save Str Buf

stores contents of S_r_Buf and returns pointer to saved string. Allocatesroom for storage if neccesary.if room cannot be allocatea, then as mucm of

the string as possible is stored. Note that the last character of Str_Buf(at index Str Bur Size) is set to the null character. Thus a maximum of

Str_Buf_Size characters may be stored. The string is stored until a null

character is founa t_us the terminating nuil shoui¢ be included. A nullpointer is returned ie the string cannot be stored.

TRW Houston System Services 1 (printed 12/18/86)

timelines.c(3) (Message) timelines.c(3)

NAME

bsearch timel ine, Isearoh_timeline,fprtTimeLine - timeiine information

isearch timeline, MakeTimeLine,

SYNOPSIS

char _bsearch timel ine(time,timel ine)

double time;

TIMELINE _timeline;

char _lsearch timeline(time.timeline)

double time;

TIMELINE _timeline;

char _isearch timeline{index,timel ine)

int index;

TIMELINE _timeline;

TIMELINE *MakeTimeLine(timeline,table,n_items,time_byte,rec_size)

TIMELINE .-timeline;

char _table;

int n_items.time_byte.rec_size;

void fb_tTimeLine(timeline)

TIMELINE _tlmeiine;

DESCRIPTION

bsearoh tlmeline

performs binary search of time!ire table returning pointer to last entry

with a time less than or equal to the specified time. The current item

member of the timeline structure is set as a sloe effect. If time is

before initial entry, null pointer (0) is returned and the curremt item isset tO -1.

lsearc_ timeline

performs linear search of tlmellne table returning pointer to last entry

with _ time tess than or equal to the sbec!fied time. The search begins at

item indicate_ by Current item member. If this memoer is negative, a

binary search is conducted insteaQ. Error values and side effects are the

same as for bsearch time] ine.

isearch timeline

performs an inspection of timel ine table returning pointer

positioned at the input index from the beginning of the table.

begins at item indicated by the index. If this number is out ofthe table an error value is returned

to entry

The search

range of

MakeTimeLine

Sets up a timeline structure. If either the timel ine or table pointer is

null, them space 1s allocated via malloc and calloc. Th_s these structures

may _e freed. Errors result in null pointer being returned

fprtTimeLine

displays timel ire structure to stdcut

TRW Houston System Services 1 (printed 12/18/86)

tpdsp.b(3) (Message) tpdsp.b(3)

NAME

tpdsp, tOsp, posp, tpstrz, tstrz, pstrz

SYNOPSZS

subroutine tpdsp (msg)

character msg

entry tOsp (msg)

entry pOsp (msg)

entry tpstrz

entry tstrz

entry pstrz

DESCRIPTION

tpOsp

Displays messages to print and terminal units.

msg message string (input/output)

tOsD

Displays message to terminal unit.

pOsp

Dispiay message to nominal print unit out.

tpstrz

Displays string of asteriscs to terminal and print file.

_strz

Displays string Of aster_sos to termina3.

pstrz

Displays string of asteriscs to print file.

TRW Houston System Services 1 - (printed 12/18/86)

mktape,b(3) (Mktape) mktape.b(3)

NAME

mktape

SYNOPSIS

program mktape

DESCRIPTION

mktapeThis program prompts user for inputs required to process an hp9000 created

binary file with mixed type data words. Output is a univac FORTRAN V

readable tape in the same mixed order.

TRW Houston System Services 1 (printed 12/18/86)

unvout.c(3) (Mktape) unvout.c(3)

N&MEUNVOUT,getbits, put?2, putchr -

SYNOPSIS

UNVOUT(rec,fmt,bufout)

int _rec;

int _fmt;

int *Dufout;

getbits(x,p,k)

unsigned x;

in± p,k;

putT2(w,b,bo)

int _bo;

char *w,*b;

putchr(w,buf,pits)imt _bits;

char w,*buf;

routine to bui]d UNIVAC tape file

DESCRIPTION

UNVOU_

Routine to buil_ UNIVAC _e fi_e. _his routine _s m_hir_e _e_en_e_

rec array containing output Qata

fmt array containing output record specificatioms

bufout output Duffer

getb_ts

function to get bits

put72functiom to put 72 bits ir_ output buffer

define as char to e]iminate shift

putc_r

function to put character in output buffer

TRW Houston System Services 1 (printed 12/18/86)

ddna.b(3) (Noisanal dana.b(3)

NAME

dOna

SYNOPSIS

subroutine ddna (x,t,npts,maxord,aan)

double precision x (_)

douole precision t (_)

integer npts

integer maxord

double precision _dn (10)

DESCRIPTION

ddna

Variate divided difference noise analysl S,

x data (input).

t_mes for each datum (input).

npts number of elements in x,t [input).

maxora maximum order of differences to De used (input).

adn variate difference noise values u# to 1Orb order (OU_pUt}.

TRW Houston System Services - 1 - (printed 12/18/86)

ddnois.b(3) (Noisana]) ddnois.b(3)

NAME

ddnois

SYNOPSIS

program d_nois

DESCRIPTION

_nois

Driver for noise ana]ysis using variate divided difference.

TRW Houston System Services 1 - (printed 12/18/86)

nnois.b(3) (Noisanal) nnois.b(3)

NAME

nnois

SYNOPSIS

subroutine nnois (fnam.fnamo,noDs,obaray,obdelt)

DESCRIPTION

nnois

This subroutine fetches t_e user inputs for the common Plocks needed by

this program input file name output file name number of oDservations to

process array of frame ]ds array of time interval lengths w/r to obs type

to process for noise computation

TRW Houston System Services 1 (printed 12/18/86)

dspxq.b(3) (Numdis) dspxq,b(3)

NAME

_spxq. xQdspl, xqdsph, Shoxq

SYNOPSIS

subroutine _spxq (t,is,if,d,stat)

double precision t

integer _s

integer if

double precision d (6)

integer stat

entry x_dspl (star)

entry xqdsph (t)

entry shoxq (t,xpg, if,d,is)

DESCRIPTION

dspxq

Entry points for initialization ano performing xqdsp output.

time tag (input/output)

is scale option: l:lilvvv,2:Inaaaa.3:lvaaww.4=aaawww

l=leng,v=vel.a=ang.n=n.c ,w=ang rate [_nput)

if paramete _ i_dex(i_Dut/OU_DUt)

data buffer(input/output)

star status _lag (output)

x_dspl

Imitial izes compute flags and check for errors.

xqdSph

initializes Oisplay heading for parameter group.

shoxc

Performs output for xQKmpt.

where

TRW Houston System_Services - 1 - (printed 12/18/86)

dxcmp.b(3) (NumOis) dxcmp,b(3)

NAME

dxcmp

SYNOPSIS

block data dxcmp

DESCRIPTION

dxcmp

This block data routine initializes the commom use_ by this program

TRW Houston System Services l - printed 12/18/86)

_xqdsp.b(3) (Numd_s) axQdsp.b(3)

NAME

dxqdsp

SYNOPSIS

block data Qxq_sp

DESCRIPTION

_xqdsp

This block data routine initializes the common used by this program

TRW Houston Systenl:.Services 1 - (printed 12/18/86)

gdisp.b(3) (Numdis gdisp.b(3)

NAME

gdisp

SYNOPSIS

program g_Isp

DESCRIPTION

gdis#

Executive for generic display.

TRW Houston System Services - 1 - (printed 12/18/86)

gdspop.b(3) (Numdis) gdspop.b(3)

NAMEgdspop

SYNOPSISsubroutine gdspop(stat,rec0count,d)integer starinteger recinteger countdouble precision d (0:200)

DESCRIPTION

gdspop

Solicits options for display of files by frames.

stat

mec

count

d

status word (i/o)

record number (input/output)

numDer of frames tc disDlay (input/output)

record data (output)

TRW Houston System Services - 1 - (printed 12/18/86)

gndsp.b(3) (Numdis) gndsp.b(3)

NAMEgnds#

SYNOPSIS

subroutine gn_sp (stat,i_z)

inseger Starinteger i_z (20_

DESCRIPTION

gndsp

Displays selected frames of a stamaard format file.

star status word (i/o)

idz iaz of parameters to display (input/output)

TRW Houston System Services - 1 (printed 12/18/86)

lgint.b(3) (Numdis) lgint.b(3

NAME

Igint, Igfac

SYNOPSIS

subroutine lgint (m,n,td,t,eval,f,z)

integer m

integer n

double precision eval (m,n)

double precislon f (m,n)

double precision t (n)

double precision td

double precision z (m)

entry Igfac (m,n,t,eval,f)

m

n

ev_!

f

t

td

z

lgfac

DESCRIPTION

191nt

iagrangian interpolation (lgint) of n m-vectors.

iengtn of each entry in double words

order of Interpolation(input)

a_ray ni_oint Duffer, (input}

array of i_terpola_on factors (_nput/outPut)

array of time tags for en_ries

desired time (input)

output array (output)

set Up Of factors

set up of factors (Igfac}

COMMENTS

if time tag is within 14 digits of span, the no interpolation output is set

to nearby point. Factors must be precompJted by lgfac or similar routine

TRW Houston System Services 1 (printed 12/18/86)

nxcmp.b(3) (Numdis) nxcmp.b(3)

NAME

nxcmp

SYNOPSIS

subroutine nxcmp

DESCRIPTION

nxcmp

This subroutlne fetohes the user inputs for the

this program

common blocks neeoe_ by

TRW Houston System Services - 1 (printed 12/18/86)

nxqdsp.b(3) (Numdis) nxqdsp.b(3)

NAME

nxqdsp

SYNOPSIS

subroutine nxq_sp

DESCRIPTION

nxqdsp

This Subroutine fetches the user inputs for the common blocks needed bythis program

TRW Houston System Services - 1 - (printed 12/18J86)

xcmpar.b(3) (Numdis) xcmpar.b(3)

NAME

×cmpar

SYNOPSIS

_rogram xcmpar

DESCRIPTION

xcmpar

ariver for comparison of trajectories, output may be 2 trajectories or

relative trajectory

TRW Houston System Services 1 - (printed 12/18/86)

xqdsp.D(3) [Numdis) xqdsp.b(3)

NAME

xadsp

SYNOPSIS

program xq_sp

DESCRIPTION

xqdsp

Driver for _isplay of trajectory and attitude information.

TRW Houston System Servtces 1 - (prtn_ed 12/18/86)

xqkmpt.b(3) (Numdis) xqkmpt.b(3)

NAME

xqkmpt, xqkmpl, xqkmp2

SYNOPSIS

subroutine xqkmpt (t,xl,x2,q.w,stat)

doub]e precision t

double precision xl (6)douo]e precision x2 (6}

doubie precision q (4)double precision w (3)

integer star

entry xaKmpl (stat]

entry xqkmp2 (t,xl,x2,q,w,stat)

t

×1

x2

o

w

star

xqkmp!

DESCRIPTION

xqkmpt

Computes aisplay and p]ot parameters for given time

_me tag (input)

1st vehicle state (input)

2nd venicie state (input)

£ttituoe Qu_ternion (inDu_)

attitude rate (input)

status flag (output)

Init_ai izes compute _lags and check for errors.

in xqCsp.

xqkmp2

Inilia_izes, computes, and displays required parameters.

TRW Houston System Services 1 (printed 12/18/86)

oPcode.b(3) (0bs) obcode.b(3)

NAME

oboode

SYNOPSIS

suProutine obcode (ham, ia,pxclud)cnaracter_4 nam

integer id

integer pxctud

DESCRIPTION

oDcode

Decodes frame id fop oPservation file and checks whether the oPser'vationhas been exc]uOeQ.

nam obs frame id (input)

id data type i0 (output)

pxclud exlcusion flag (output)

TRW Houston System Services 1 (printed 12/18/86)

rtangl.b(3) (Obs) rtangl.b(3)

NAME

rtangl

SYNOPSIS

subroutine rtangl (xtsi,ua,ub,g,gr,gv)

double precision xtsi (6i

double precision ua (3)_ouble precision ub (3)

double precision gdouble precision gr (3)

double precision gv (3)

xtsi

ua

UD

g_

gv

COMMENTS

DESCRIPTION

rtangl

Computes angles and partials for angle observations whose tangent is ratio

of the projection of a range vector onto two sensor axes. Such anglesinclude rendezous radar roll and shaft, and coos and startracker horizontal

and vertical angles, tan(g) = r_ua / r_ub

inertial target relative to sensor position and velocity(input)

first unit axis vector (input)

secono umit axis vector (input)

oDservatiom ang]e (output)

uartla_ of angie with respect tc target posit_on (output)

partial of angle with respect to target velocity (output)

1) Assumes that the partials are _nitialized to zero before the call to

this routine. 2) Assumes that the angle rates have oeen compensated for'

the anguiar motion of the obsePv_n9 vehicle. 3} The axes vectors must be

normalizeo ant nave the correct sense. 4) Thus they are not neccessarilythe unit vectors for the sensor.

TRW Houston System Services - 1 - (printed 12/18/86)

tangle.b(3) (Obs) tangle.b(3)

NAMEtangle

SYNOPSZS

subroutine tangle (xtsi,ua,ub,g,gr)

double precision xtsi (6)

QouD]e precision ua (3)

doubie orecision uD (3)

aouble precision g

double Drecision gr (3)

xtsi

ua

ub

g

gr

COMMENTS

DESCRIPTION

tangle

Computes angles and partials for angle observations whose tar_ent is ratio

of the projection of a range vector onto two sensor axes. Such anglesinclude ren_ezous radar roll and shaft, and coas and startracker horizontaland vertical angies, tan(g) = r_ua / r_uo

inertial target relative to sensor position and velocity input]

first unit axis vector (input)

second unit axis vector (input)

observation angie (output)

DartLa'l o; ang]e witR respect to target position (output

'}, Assumes tlqat the partials are initialized tc zero before *_== cell to

this routine. 2} T_e axes vectors must De normalized and have the correct

sense. 3) Thus _ne_. are not neccessarily the unit vectors for the sensor.

TRW Houston System Services - 1 - (printed 12/18/86)

xcoas.b(3) (Obs) xcoas._(3)

NAME

xcoas, COaSh, coasv, cinit, cDugs

SYNOPSIS

subroutine xooas (g,gr)

Ooub]e precision g

_ouble precision or (3)

entry ccas_ (g,gr)

entry coasv (g,gr)

entry clnit

entry cbugs

DESCRIPTION

xcoas

Computes coas eTlg]e observations and partials.

g angle observation (output)

gr partial of observalion with respect to the target inertial position

[output)

coas_

Comp_tes horlzon_a_ angle anO requireo partials.

coas\'

Com#ute vertical angle and required partials.

cinit

cPugs

Writes oebug information.

TRW Houston System Services (printed 12/18/86)

xra_ar.b(3) (Obs) xradar.b(3)

NAME

xradar, range, ranrat, shaft, sftrat, roll, rolrat, trnion, trnrat,

pohrat

pitch,

SYNOPSIS

suDroutine xra_ar (g,gr,gv)

_ouble precision g

double precision gr (3)

double precision gv (3j

entry range (g,gr)

entry ranrat (g,gr,gv

entry shaft (g,gr)

entry sftrat (g,gr,gv

entry roll (g,gr]

entry rolrat g,gr,gv

entry trnion (g,gr)

entry trnr_t (g,gr,gvl

entry pitctq {g,gr)

entry ponrat (g,gr,gv_

DESCRIPTION

xradar

Computes rendevous radar observations an_ partials,

Computesd observation (ou%Du_ I

gr partial of oDservation with respect to target vehicleposition [output)

gv part_al of observatio_ wit_ respect to target vehicle

velocity (output)

rangeComputes range.

inert i al

_nertial

ranrat

Computes range rate.

shaft

Commutes shaft.

sftrat

Computes shaft rate.

roll

Computes roll.

rolrat

Computes roll rate.

TRW Houston System Services 1 - (printed 12/t8/86)

xradar.b(3) (OOs) xradar.b(3)

trnion

Computes trunnion.

trnrat

Computes trunnion rate.

p_ch

Computes pi_ch.

pcnrat

Computes pitch rate.

COMMENTS

Assumes rates nave been compensated for observing frame angular motion.

TRW Houston System Services - 2 (printed 12/18/86)

xtrack.b(3) (Obs) xtrack.b(3)

NAMExtrack, traokh, trackv, stinit

SYNOPSISsubroutine xtrack (_track,g,gr)integer itrack_ouD_eprecision gdouble precision gr (3)

entry trackh (itraok,g,gr)

entry traokv (itrack,g,Dr)

entry stinit

DESCRIPTION

xtrack

Computes star _racker angle observations anQ partials.

itrack star tracker sensor ld (input)

g angle observation (output)

gr partial of observation wit_ respect to the target inertial position(output)

trackh

Computes hor_zonte! ang)e and reauireO partials.

traokv

Computes vertical a_gie a_d reQuire_ partials.

stinit

initial _zes.

TRW Houston System Services 1 (printed 12/18/86)

ascale.b(3) (Plot) ascale.b(3)

NAME

ascale

SYNOPSIS

Drogram asc_le

DESCRIPTION

ascale

Determines minima and maxima of specified parameters in specified files.

TRW Houston System Services 1 - (printed 12/18/86)

automx.b(3) (Plot) automx.b(3)

NAMEautomx

SYNOPSIS

subroutine automx

DESCRIPTION

automx

Sets minimum and maximum of axes based on parameter min//max.

COMMENTS

Considers only those curves thatape designated.

TRW Houston System'_ervices - 1 - (printed 12/18/86)

dplot.b(3) (Plot) dplot.b(3)

NAME

Oplot

SYNOPSIS

block Oa_a Oplot

DESCRIPTION

_plot

This block data routine initializes the common used by this program

TRW Houston System Services - 1 - (printed 12/18/86)

L_

mmxchk.b(3) (Plot) mmxchk,b(3)

NAME

mmxchk

SYNOPSIS

suDroutine mmxchk (i,ommx,mmx,rchck)

integer i

integer pmmx

real mmx (2)

real rchck

DESCRIPTION

mmxchk

Checks value against min/max.

_epenOing upon input f_ag.

mmmx

mmx

rchck

Value is omitted or set to min/max

delete flag (set to -1 if point deletes else left alone) (output)

min/ma× options for output parameters (input) 2:recomDute,_l=set to

within _nput m_nmax, -l:omit if outside input mlnmax,-3:clip if

outsiOe file minmax, else:set to file minmax last entry specifies

array of minimum and maximum values for output

parameters.(lnpu_/output)

test value for indeDenoent parameter [input/output) note that is ininternal un;ts.

TRW Houston System Services 1 - (printed 12/18/86)

nplot.b(3) (Plot) nplot.b(3)

NAMEnpiot

SYNOPSISsubroutinenplot

DESCRIPTIONnplot

This subroutinefetci_esthe user inputs for thetn_s program

commonblocks neeaed by

TRWHoustonSystemServices (printed 12/18/86)

plotx.b(3) (Plot) plotx.b(3)

NAME

plotx

SYNOPSIS

program plotx

DESCRIPTION

plotx

Main driver for graphlc routines.

TRW Houston System Services - 1 - (printed 12/18/86)

pltnpt.b(3) (Plot) pltn#t.b(3)

NAMEpltnpt, grfnpt

SYNOPSISsubroutineDltnpt

entry grfnpt

DESCRIPTIONpltnDt

obtain general inputs for plot routine and initialize various parameterssuchas labels, titles, axes. curves,timedefault, andparameterid.

grfnptobtain graph specific input

TRWHoustonSystemServices (printed 12/18/86)

q2crvz.b(3) (Piot) q2crvz.b(3)

NAMEq2crvz, a2crv, a2ecrv, o21sto, q21egn

SYNOPSISsubroutine q2crvz (ikurve,l,j)integer ikurveinteger jinteger i

entry Q2crv (ikurve)

entry q2ecrv (ikurve)

entry q21sto (ikurve,i,j)

entry q21egn (i)

DESCRIPTION

a2crvz

Entry points for 2d graphics. Sets up preliminaries for curve plot, finish

drawing curve, store legend information, and display legend.

ikurve curve index (input/output_

j numDer of cal }s for current curve.(lnput)

i current coumt oe how many times curve segment mas been drawr,(:nput]

a2orv

Set_ up preliminaries for curve plot.

q2eorv

Finishes Cra_,,inB curve.

q21sto

Stones legend information.

q21egn

Displays legend.

TRW Houston System Servi'ces 1 (printed 12/18/86)

q2draw.b(3) (Plot) q2araw.b(3)

NAMEq2Oraw

SYNOPSIS

subroutine a2draw (x,nx,imarK,nlbl,ncnt)

real x (1000,2)

integer nxinteger Imark

integer nlbl

integer ncnt

DESCRIPTION

q2draw

Entry points for 20 graphics. Specifies the curves, lines and nlabels.

buffer for values (input)

nx number of points in array (input)

imark mark options for blot curve (input/output)

nlbl label flag for plot curves (input) <0 means label every nth point

starting at I >0 means label every ntn point using file sequenceno.

ncnt current inoe× count &t beginning of curve (input/'outpu%)

TRW Houston System Services 1 - (printed 12/18/86)

q2grph.b(3) (P_ot) q2grph.b(3)

NAME

q2grph, q2fnsh

SYNOPSIS

suDroutine q2grph

entry q2fnsh

DESCRIPTION

q2grph

Entry points for 2d graphics. Specifies the genera] layout for the plot.

Sets an_ specifies the page size, grace area. suDplot area, i3eading, angles

x and y axes, ]aDe]s ...etc. Defines physical set up of Plot.

q2fnsh

Finishes uD a plot.

TRW Houston System Services - 1 - (printed 12/18/86)

qdevin.b(3) (Plot) qaevin.b(3)

NAMEqaevin, Qdevrl

SYNOPSIS

suDroutine qdevin

entry qcievr I

DESCRIPTION

Qdevin

Initializes and releases plot

qdevrlReleases aevise.

device.

TRW Houston System Services 1 - (printed 12/18/86)

qpintx.b(3) (Plot) qpintx,b(3)

NAMEqointx

SYNOPSISsubroutine qpintx (krv,stat)integer krvinteger star

DESCRIPTIONqpintx

initializes andfetches _ata for plotting.krv curve id (input)

stat file io status (input/output)

TRW Houston System Services - 1 - (printed 12/18/86)

qplot.b(3) (Plot) qplot.b(3)

NAME

qplot

SYNOPSIS

subroutine qplot

DESCRIPTION

qplot

Draws & plo$: broken out for segmentation purposes.

TRW Houston System Services 1 (printed 12/18/86)

qDlt2_.b(3) (Plot) qp]t2a.b(3)

NAME

qplt2d

SYNOPSIS

subroutine qplt2a

DESCRIPTION

qDlt2d

Initializes variables such

ana finishes up curves.as stop flag, terminal, curves, plotting array

TRW Houston System Services 1 - (printe_ 12/18/86)

qpxget.D(3) (P]ot) q#xget.b(3)

NAMEq_xget

SYNOPSISsubPout_neqpxget (x,pcont)real x (1000,2)integer Dcont

DESCRIPTION

qpxgetInitializes and fetches data fop p]otting.

x output array (output)

pcont status flag (input/output) o=]ast

nequest,<O eppoP

Pequest done,>O continue with

TRW Houston System SePvices 1 - (pPinted 12/18/86)

qslptn.b(3) (Plot) qslDtn.b(3)

NAME

qslptn, qrlptn

SYNOPSIS

subroutine qs]ptn (dotdsh)

integer dotQsh

entry qrlptn (dotash)

DESCRIPTIQN

qslptn

Entry points to set and reset line patterns,

dotdsn line type (input/output;

qrlptn

Finishes up drawing curve.

TRW Houston System Services - 1 - (printed 12/18/86)

sclset.b(3) (Plot) sclset.b(3)

NAMEsclset

SYNOPSIS

subroutine sclsetreal rmin

real rma×

real step

(rmin,rmax,ste_)

DESCRIPTION

sclset

Adjusts input rmin/rmax value to integralto give approx 10 steps form min to max.

rmin rminimum value (input)

rmax rmaximum value (input)

step step size (output)

steps. The step size is chosen

TRW Houston System Services - 1 - (printed 12/18/86)

a32t36.b(3) (Product) a32t36.b(3)

NAMEa32t36

SYNOPSISsubroutine a32t36(temp,ctemp)integer temp(3)integer ctemp(3)

DESCRIPTIONa32t36

Move 32 bits to 36 bits.

temp input buffer (input)

ctemp temporary buffer(output)

COMMENTS

Must not De compiled with range checking.

TRW Houston System Services - i - (printed 12/18/86)

cmvbit.b(3) (Product) cmvbit.b(3)

NAME

cmvPit

SYNOPSIS

subroutine cmvbit (n, ln, iw,ib,itemp,ow.oD)

integer n

integer in (3)

integer, iw

integer ib

integer itemp (3)

integer ow

integer ob

in

ib

item#

ow

ob

COMMENTS

DESCRIPTION

cmvbit

This is a compound version of getbit, which allows specification of ow and

oh, thus permitting restack of one array into another. This program extract

rl consecutive bits from the array in, beginning w_th the initial word iw

and initial bit ib, and store in the ow,ob portion of tne array 1temp. n

can be any number of b#ts, or 18, 36, or 72 for univac created records

itemp is treated as 32 bit wore for current appl ice, ions.

number of bits (input)

initial array (input_

initi_l worc (input}

initital bits (input)

temporary storage (output)

output worQ (output)

output bits (outDut_

Must not be _omDiied with range checking.

TRW Houston System Services 1 (printed 12/18/86

comptw.b(3) (Product) comptw.b(3)

N&ME

comptw

SYNOPSIS

subroutine comptw (rdata, itype,ktypes,kwor_s,num)real rdata (3)

integer_4 num (50)

integer*4 itype (50)

integer*4 ktypes

integer_4 kwords

DESCRIPTION

comptw

This subroutine computes the data types an_ the

written im eact_ data type.

rda_a Oata

mum numDem of Oata

1type types

ktyDes data types

kwords numDer Of woros

number of wor_s to be

TRW Houston System Services 1 - (printed 12/18/86)

aprod.b(3) (Product) dprod.b(3)

NAMEdproa

SYNOPSISblock data aprod

DESCRIPTION

dprod

This btock data routine initializes tne common used by this program

TRW Houston System Services - 1 - (printed 12/18/86)

axset.b(3) (Product) _xset.b(3)

NAME

axset

SYNOPSIS

subroutine dxset (sog,dx,np)

integer sog (20)character_80x (2OO)

integer np

DESCRIPTION

dxset

Forms dictionary for RELBET special products.

spg parameter group flags (input)

dx dlctionary Duffer (output)

n_ numDer of parameters in output (1+number of parameters)

TRW Houston System Services - 1 - (printed 12/18/86)

getspg.b(3) (Product) getspg.b(3)

NAMEgetspg

SYNOPSISsubroutinegetspg (dlndex,t,xl,x2,q,w,spg,d.count)integer count_ntegerdinaexdoubleprecision tdoubleprecision xl (6)doubleprecision x2 (6)doubleprecision q (4)

double precision w (3)

double precision d (200}

integer spg (20)

DESCRIPTION

getsP9Computes requiree RELBE] product Darameters

count

dinaex

t

xl

x2

q

W

d

spg

COUntflag (output

index for tracking intervals

_ime _ag (inDut)

1st vehicle state input}

2nd vehicle state input)

attitude quaternion (input)

attitude rate (input)

data Duffer (output)

parameter group fiags (input)

input

TRW Houston System Services 1 - (printed 12/18/86)

hptou5.b(3) (Product) hptou5.b(3)

NAME

hptou5

SYNOmSIS

subroutine hptou5 (iop, inrec,maxrec,npar)integer iop

integer lnrec (400)

integer ma×rec

integer npar

DESCRIPTION

hptou5

Writes the header record, dictionary record and data records on to the

tape. Output is a univac FORTRAN V readable tape in the same mixed order.

iop type of calls (input/output) 1 initialization call,open tape

_rive,and write header 2 _ictionary call 3 _ata call 4 wrap up call

inrec inout recor_

maxrec maxlmum record count(output)

npar number of oarameter$ (inbut)

TRW Houston System Services - 1 - (printed 12/18/86)

nprod.b(3) (Product) nprod.b(3)

NAMEnprod

SYNOPSIS

subroutine npro_

DESCRIPTION

nprodThis subroutine fetches the user

this program

inputs for- the common b!ocks neeaeQ by

TRW Houston System Services 1 - (printed 12/18/86)

ntran.c(3) (Product) ntran.c(3)

NAMENTCLOSE,NTEOF,NTFILE.NTOPEN,NTREAD.NTRITE,NTRW,NTRWRL.FORTRANca]lable routines that performvarious tape manipulations

NTBLCK

SYNOPSIS

void NTCLOSE(chanl,status)

int _chanl;

int _status;

void NTEOF(chanl,status)

int *chanl;

int -status;

void NTFILE(chanl,fcount,status)

int -chanl;int -fcount;

int _status;

void NTOPEN(chanl.drive,status)

int _cnanl;int _drlve:

long int -status;

void NTREAD(chani.nobvtes,buffer,sta_us,overf]ow)

int _chan!;

int -nobytes;char *buffer:

long int .status;

long *overflow;

vo i d NTRITE (cnanl , nooytes, buffer, status )int -chanl ;

int -nobytes;chap -buffer;

int -status;

void NTRW(chanl,status)

int _chanl ;

lnt xsta_us;

void NTRWRL(chanl,status)

int _chanl;

int -status;

void NTBLCK(chanl,fcount,status)

int _chanl ;

int *fcount;

int _status;

DESCRIPTION

These functions ape FORTRAN callable routines that perform various tape

manipulations. Tl_e FORTRAN calling sequence for NTCLOSE,NTEOF,NTRW and

NTRWRL is

call NAME(chanl,status)

where all the arguments ape inte#ems. The chanl is the file descriptor

obtained fnom a call to ntopen. If the request is performed successfully,

status returns a zero, othenwise status is positive and contains the system

error number (errno). If an error occurrs, an error message is printed onthe standard error device (stderr or unit 7). The FORTRAN calling

sequences for NTFILE,NTOPEN,NTREAD,NTBLCK,and NTRITE arecall NTFILE(ohanl,fcount,status)

TRW Houston System Services - 1 - (printed 12/18/-86)

ntran.c(3) (Product) ntran.c(3)

call NTOPEN(chanl,drive,status)call NTREAD(chanl,noPytes,buffer,status,overflow)call NTRITE[chanl,nobytes,buffer,status)call NTBLCK(chanl,fcount,status)

For detaii calling argumentsoescription, see individual function below.

Restrictions : maximumof 20 fiie oescriptors maybe openat any one timeinciuding

stdin (unit 5)stdout (unit 6)stderr (unit 7)

NOTE:the functions are designedonly for raw magnetic tape with 7970E tape

drive, files used : /dev/rmtl assumed.but no specific code in thisroutine.

NTCLOSE

tape file close routine.

NTEOF

write an end of file (EOF) mark on the magnetic tape.

NTFILE

position a tape file forward or backward over an end of file marks. The

FORTRAN calling sequence is call ntfile (chanl,fcount.status) where all the

arguments are integers. The number of EOF marks _c pass over is fcount,

where fcount positive implies fcreard, negative imol ies Backward motion.

NTOPEN

FORTRAN callable tame fiie ooem routine for multiple (i.e. two} tame _rivesfiles use¢ : /_ev,/rmtO /dev/rm_1

NTREAD

reams one physical block per col! where

status specifies error fla£ o_ actual count of worms transferred

nobytes specifies number of bytes to transfer;

buffer specifies pointer to user supplied buffer array;over_low specifies the Count of oytes ignored in OhyslCal.

restrictions :

I. fiie must be opene_ by a C coil to open().

2. user supplied Duffer must be a singly subscripted _nteger

a_ray large enougm to contain the largest physcia! blockS. _nvolves possibly macnine oependent code for HP-9OOQ & HP-UX

NTRITE

Write a record to tape. The user supplies the record to be written in the

integer array buffer, the number o = characters (bytes) to transfer in

nobytes, and the file descriptor oPtaine_ from a previous call to ntopen in

than1 The FORTRAN syntax is: call ntrite(chanl,nobytes,buffer,status)

restrictions: The user must supply a large enough buffer for the of bytes

to be transferred. At present, no internal error handling is provided. Forexample, upon encountering the end of tame, some fraction of the buffer is

written to tape. However, the tape is not backspaced to its originalposition.

NTRW

rewind the magnetic

NTRWRL

rewind and release the magnetic tape

NTBLCK

routine to position a tape file forward or backward over n physical blocks.The number of blocks to pass over is foount, where fcount positive implies

forward, negative implies backward motion.

TRW Houston System Services - 2 - (printed 12/18/86)

nxtnd.b(3) (Product) nxtnd.b(3

NAME

nxtnd

SYNOPSIS

suDroutine nxtn_ (t,dt,nstep,ten_,done)

double precision

ooubie precision dt

integer nstep

_ouDle precision tend

integer done

DESCRIPTION

nxtnd

Sets next output time either from a base file (bfopt non-zero) or by

specified time step dt (bfopt=O). Done is set to I if past end time tend,

else set to O. If nstep>O, them edit status is not checked. If bfopt>O,

them base file is position to next uneditea point.

next time (input/output)

dt step size (input)

nsteD step for running off base fite (input_

teno stop time (input)

Clone done fiag {output)

COMMENTS

Base fi_e _a_& must be _ess than 100 words.

TRW Houston System Services I - (printed 12/18/86)

prodx. P(3) (Product) pro_x.b(3)

NAME

prod×

SYNOPSIS

program prodx

DESCRIPTION

pro_x

Executive for RELBET tape proauct output.

TRW Houston System Services 1 - (printed 12/18/86)

sphdr.b(3) (Product) sphdr.b(3)

NAME

sphdr

SYNOPSZS

suDroutine sphar (u,x,r)

_nteger u

character_4 x (26)integer r

DESCRIPTION

sphdr

Displays header and record for RELBET DPF generation.

u display unit (input)

x header message (input/output)

r number of record

TRW Houston System Services 1 (printed 12/18/86)

tblchk.b(3) (Product) tblchk.b(3)

NAME

tblchk

SYNOPSIS

integer function tbichk (i,timtag,onoff)

integer i

oouDle precision timtag

integer onoff

DESCRIPTION

tDlchk

ChecKs _o see if $ime tag is ip tracking inserval.

i inOex (input)

timtag time tag (inPut)

onoff 1 if in tracking intervals (output) =-I not in tracking intervals

TRW Houston System Services 1 - (printed 12/18/86)

udpfmt.b(3) (Product) udpfmt.b(3)

NAME

udp{mt

SYNOPSZS

subroutine u_pfmt (temp,dDnew)

integer temD (3}

integer apnew (S)

DESCRIPTION

udpfmtConverts 64 bi_ HP9000 double precision word to ?2 bi_ UNIVAC.

temp input buffer

dpnew new storage variable (output)

COMMENTS

_ust not be compiieo wi_h range ¢hecK_ng.

TRW Houston System Services 1 - (printed 12/18/86)

uinfmt.b(3) (Product) uinfmt.b(3)

NAME

uinfmt

SYNOPSZS

subroutine uinfmt (input,int}

integer input (2)

integer int (2)

DESCRIPTION

uinfmt

Moves bits.

input input

int output location

COMMENTS

Must not be compiled with range checking,

TRW Houston System Services 1 (printed 12/18/86)

uspfmt.b(3) (Product) uspfmt.b(3)

NAME

uspfmt

SYNOPSIS

subroutine uspfmt [temp,spnew)

integer temp (3)

integer spnew (2)

DESCRIPTION

uspfmt

Converts 32 bit HP9000 single precision to 36 bit UNIVAC.

temp input storage

spnew output storage

COMMENTS

Must not be comDiied with range checking.

TRW Houston System Services 1 - (printed 12/18/86)

amenu.b(3) (Prompts) amenu.b(3)

NAMEamenu

SYNOPSISsubroutineamenu(niaz,xicz,idz)integer n_azcharacterxidz (niaz]integer ioz [niaz)

DESCRIPTION

amenu

Sets flags according to prompt menu.

nidz number of input variables (input)

xidz names of options [input)

i_z on/off flags _I on, -1 off (input/output}

TRW Houston System Services 1 (printed 12/18/86)

aciph.b(3) (Prompts) dciph.b(3)

NAME

dciph

SYNOPSIS

subroutine dciph (prompt,type,nv,iv,rv,av)

character prompt

character type

integer nvinteger iv (_)

real rv (*)

double precision _v (_)

DESCRIPTION

dciph

Read input character

numerical values.string and translates character

prompt display prompt (input)

type data type coOe (input)

nv number of values aes_re_(input

integer value array (inDut)

r"v

CIv oouble #recision value array (input/outout!

string input to

TRW Houston System Services - 1 - (printed 12/18/86)

dciphr.b(3) (Prompts) dciphr.b(3)

NAME

dcipnr

SYNOPSIS

subroutine aciphr (type,lx,xin,nv,iv,rv,dv.erf)

characte_ type

_nteger Ix

character_l xin (.t

integer nv

integer _v (_)

real rv (*)

doubie precision dv (*)

integer err

DESCRIPTION

dciphr

Redes input c_aracter string andnumerical values.

type

Ix

xir,

nv

i v

rv

dv

err

COMMENTS

translates character string input tO

asta type code (input)

length of string (input)

character array (_nput)

number of values desired (input)

integer value array. I input/output)

real value array (input/output)

acuD]e precis]oR value array (_nDut/output)

error/stop flag (output)

Input str_ng is considered to a max of 80 characters.

TRW Houston System Services 1 (printed 12/18/86)

qxmenu.D(3) (Prompts) qxmenu.b(3)

NAME

qxmenu, pmenu, gmenu

SYNOPSIS

subroutine qxmenu (nc,mnunam,np,pnmz,isel,xsel)

integer nccharacter_32 mnunam

integer np

character*8 pnmz (rip)

integer lse)character.:4 xsel

entry pmenu (nc.mnunam,np,pnmz,itei.xse]

entry gmenu (nc,mnunamonp,pnmz,itel.xse]

n_

Dnnlz

_se]

xsel

pmenu

DESCRIPTION

qxmenu

Solicits menu prompt from input list.

n¢ number of letters to check (input)

mnunam name of menu (input)

number of items in menu

names of p_-om_t items (imout}

selected id [output)

f_rs_ four' characters of seiecteo item (output)

Initiel izes count and selectlo_ index, display option menu ann

in_erpre= responsE.

choice ar_d

gmenu

ODteins menu input.

TRW Houston System Services - 1 - (printed 12/18/86)

tic.b(3) (Prompts) tic.b(3)

NAMEtic, ctio, itio, dtio, rtio

SYNOPSIS

subroutine tic (p,l,iv,av,rv.str)

character p

integer 1

integer iv (1)double precision _v (1)

real rv (l)

character str

entry ctio (p.l,str)

entry itio (p,l,iv)

entry dtio (p,l,dv)

entry rtic (p,l,rv)

P

1

IV

dv

rv

str

CtlO

DESCRIPTION

tic

Interactive terminal input/output.

prompt string (input)

number of values or length of string(input)

integer value array (input/output)

douole precision value array(input/output)

real value array (input/output)

string for input/output {lm#ut/outout )

Character entry point for aciph call.

itio

Integer entry point for dciph call.

dtio

Double precision entry point for aciph call.

rtio

Real entry point for dciph call.

TRW Houston System Services I - (printed 12/18/86)

xqwtmz.b(3) (Prompts) xqwtmz.b(3)

NAME

xqwtmz, xqdatz, xqtime

SYNOPSIS

subroutine xqwtmz (p,ymdnm,sec)

characte _ p

integer ymdhm (6)

doubie precision sec

entry xqdatz (p,ymdhm,sec)

entry xqtime (D_sec)

P

ymdmm

se¢

xqdatz

DESCRIPTION

xqwtmz

Interactive input of dates and times.

promp_ string (input�output)

year,month,day,hour minute (input/output)

seconds (input/output)

Obtains s date in year',month,Oay.hou_,m_nute.seconQ.

x_time

Obtains an time via hour,minute,second input.

TRW Houston System Services 1 - (printed 12/18/86)

yesno.b(3) Prompts) yesno.b(3)

NAME

yesno

SYNOPSIS

subroutine yesno [prompt,pyes)

character prompt

integer pyes

DESCRIPTION

yesnoPrompts for a yes or no input.

prompt prompt string(input)

pyes response flag: + = yes -=no (output)

TRW Houston System Services 1 - (printed 12/18/86)

aprop.b(3) (Propagate) dprop.b(3)

NAME

dprop

SYNOPSIS

block data dprop

DESCRIPTION

dprop

This block data routine initializes the common used by this program

TRW Houston System Services 1 - (printed 12/18/86)

Ovdt.b(3) (Propagate) dvdt.b(3)

NAME

Over

SYNOPSIS

subr'out_ne dvOt (t,rv,a)

oouDle precision t

OOUble precision rv (6)

doub)e precision a (3)

t

Pv

COMMENTS

DESCRIPTION

avdt

Computes acceleration for a vehicle.

current time (input)

vehicle position and velocity (input)

acceleration (output)

Vent force and start and stop _lmes must be Oetermine_ by' _river.

TRW Houston System Services 1 - (printed 12/18/86)

nprop.b(3) (Propagate) nprop.b(3)

NAME

nprop

SYNOPSIS

subroutine nprop

DESCRIPTION

nprop

This subroutine fetches the user inputs fop the common blocks neeaed Dythis program

TRW Houston SystemS_rvices 1 (printed 12/18/86)

opnprp,b(3) (Propagate) opnprp.b(3)

NAMEopnprp

SYNOPSISsuDroutlneopnprp(fatals)integer fata!s

DESCRIPTION

driver for opening the files neede_ for propagation

opnprp

fatals fatal error count (output)

COMMENTS

does not Incorporate full error checks

TRW Houston System Services 1 - (printed 12/18/86)

prpnpt.b(3) (Propagate) prpnpt.b(3)

NAMEprpnpt

SYNOPSISsubroutine prpnpt

DESCRIPTIONprpnpt

obtains input for the Dropagation module

TRW Houston System Services - 1 - (prin_,ed 12/18/86)

runkut.b(3) (Propagate) runkut.b(3)

NAMErunkut

SYNOPSISsubroutine runkut (t,dt,x)doubleprecision tdoubleprecision dt_oubleprecision x (6}

DESCRIPTIONPunkut

Uses4th order runge-kutta integrator to ppoDagateposition ant velocityone time step.

initial time (input/output)

dt total time step (input)position and velocity (iflput/output)

TRWHoustonSystem Services (printed 12/18/86)

rvprop.b(3) (Propagate) rvprop.b(3)

NAMErvprop

SYNOPSISsuDroutinervprop (tout,vehi_,trv)

double precision tout

integer venidaouble precision try (7)

DESCRIPTION

rvpropObtains a state vector at desired time by 1) interpolation. 2) runge-kutta

integration of input state. 3) supeP-g integration of input state.

tout required output time (input)

ve_iO vehicle i¢ (input)

try vehicle time, position, ve]oc3ty (_nput/output)

TRW Houston System Services 1 - (printed 12/18/86)

rvup.b(3) Propagate) rvup.b(3)

NAME

rvup

SYNOPSIS

subroutine rvup (c,s,u.ac,dr)

doubie precision c

doubie #recision s (6)oouble precision u (6)

doubie precision ac (3)

_ouble precision _r (3)

DESCRIPTION

rvup

Updates position and velocity

c time factor (input)

s input state array (inPut)

u upoated state array (output)

ac current acceleration (input)

dr save pos_t_om derivative linout)

TRW Houston System Services - 1 - (printed 12/18/86)

supergob(3) (Propagate) superg.D(3)

NAMEsuperg

SYNOPSIS

subroutine superg (nstep,tcur.s)

_ouDle precision hstep

aou_le _recision tour

_ouble precision s (6)

DESCRIPTION

superg

Super G integrator.

hstep current step size (input)

tour old time (output)

s state whose position and velocity are to De aovanceO (output)

TRW Houston System Services 1 - (printed 12/18/86)

tstep.b(3) (Propagate) tstep.b(3)

NAMEtstep

SYNOPSISsubroutinetstep (inc,iv,tend,tc,dt,tnew)

DESCRIPTIONtstep

Obtainsnext time for integratlo_ step.

TRWHoustonSystemServices - I - (printed 12/18/86)

apfmt.b(3) (Oatape) dpfmt.b(3)

NAME

dpfmt

SYNOPSIS

subroutine _pfmt

integer temp (3)

integer aDnew (2)

{temp.dpnew)

DESCRIPTION

Qpfmt

convert 72 bit unvi_c _p.to_64 hp

temp ap Duffer(input)

_pnew hp _p buffer foutput)

TRW Houston System Services 1 - (printed i2/18/86)

getbit.b(3) (0atape) getbit.b(3}

NAMEgetbit

SYNOPSISsubroutinegetb_t (n,in,lw,iP,itemp)integer ibinteger in [3)integer itemp (3)integer iwinteger n

DESCRIPTIONgetbit

extract mconsecutivebits from the array in, beginning with the initialword iw and initial bit ib, andstore in the fi.rst portion of the array

itemp.

records.

ib

in

itemp

iw

m is usually exoected to be 18, 36, or 72 for univac

itemp is treated as 32 bit word for current applications.

initial bit (input/output)

input array

temp buffer (outPut)

in4tia] woro (input/output)

created

oonsecutive bit (inDut/outDut)

TRW Houston System Services 1 (printed 12/18/86)

imove.b(3) (Qatape) imove.b(3)

NAMEimove

SYNOPSIS

subroutine imove (inbut,iwordl,ibitl,len, iout,iword2,ibit2)integer ibitl

integer ibit2

integer inout (-)

integer iwordl

integer iword2

integer len

integer lout {*)

DESCRIPTION

imove

This subroutine moves a field of bits from one position in the input arrayto another position in the output a-ray. The subroutine allows for the

input and output arrays to be the same array, and allows the source fieldto overlap the aestination field, by checking whether the move is to the

left (i.e. lower suoscripts) or to the right, and so starting the move atthe left or right, respectively. The fields may span word boundaries. The

user is Cautioned to i_entify the arrays by their" firs_ subscript, usingthe callimg arguments to define the positions Of interest within the

arrays, as tricker} may mefeat the program design with unpred_ctaOieresults. In common with all refmt utility routines, imove allows the user

to sbeci÷} the word length an_ integer nega£}ve number Conventions desired

for beth i_qDut arc output, whictq _neednot be the same. All internal

calculations are done using HP-9000 integer f32 b:t two's CcmD]ement)

worQs. However, the user may C_oose to reference the input to some other

computer, e.g. Univac 36 bit one's complement. In this way, _he users

orogram Can read Univac data using Univac subscr]pting.

ibitl bit position in inDut(iwordl) for start of move (internal &output,input & updted)

ioit2

input

1word1

Pit positior, i:q iout(iword2) for start of move (internal,input)

array of input data (internal,input)

subscript to input array using wrdlnl length words for startmove (internal,input)

iword2 subscript to output array using wrdln2 length words for

move (internal,input)

len no. of bits remaining to be transferred (internal,input)

iout array of output,data (output,computed)

COMMENTS

of

start of

All calculations of the beginning and ending bit positrons within the

arrays must result in integer numbers. For example using Univac input word

length (36 Pits per word), the max array size is 59,652,323 which defiesthe imagination! TNE USER IS RESPONSIBLE FOR PROTECTING AGAINST SUBSCRIPTS

OUT OF RANGE_! !! Several Fortran intrinsic functions whicn are not part ofANSi For'tram 77 are used by this program.

TRW Houston System Services - I - (printed 12/18/86)

infmt.b(3) (Oatape) infmt.b(3)

NAMEinfmt

SYNOPSISsubroutine infmt (temp,int)integer,temp(2)integer int

DESCRIPTIONinfmt

convert univac integer to _p integer

temp input _ufferint output buffer

TRWHoustonSystem Services 1 (printed 12/18/86)

qatape.b(3) (Oatape) qatape.b(3)

NAMEqatape

SYNOPSISprogram qataoe

DESCRIPTION

qatape

This program reads tne data product (binary) tape created on Univac. It

prints the first and last page if print is set to zero & prints every page

if print is set to 1. It prints every n records if print is set _o 2, This

program also creates a binary disc file(HP format) wren print is set to 3,

TRW Houston System Services 1 (printed 12/18/86)

spfmt.b(3) (Qatape) spfmt.b(3)

NAMEspfmt

SYNOPS!Ssu_rou_ine spfmt (temp,spnew)

integer temo (3)

integer spnew (1)

DESCRIPTION

spfmt

converts 36 bit univac so to 32 nit hp

temp tem_ buffer (input/output)

spnew single precision buffer (output)

TRW Houston System Services - 1 - (printed 12/18/86)

gstack.c(3) (Stacks) gstack.c(3)

NAMEgsPop,gspush,gspeek,gspoke,gsempty,gsfree, make_gstack,q_pop.stack operations

SYNOPSIS

q_push

char _gspop(stack)

P GSTACK stack;

char -gspus_(stack,block)

P_GSTACK stack;char ,olock;

char -gspeek(stack.offset)

P_GSTACK stack;int offset;

char _gspoKe(stacK,b]ock,offsez)

P_GSTACK stack;char _block;

int offset;

char _gsemoty(stack)

P_GSTACK stack:

char _sfree(stack)

P GSTACK stack;

P_GSTACK make gstack(stack,b_size,m block,buffer)P_GSTACK stack;

int D Siz6;

int m_biock;char _Duffer;

cmar -Q poptQueue)

P_OUEUE queue;

char ,__push(queue,btock)

P OUEUE Queue;char *clock;

DESCRIPTION

gspop

Pop the top block of stack. Return pointer found in top 3lock. Return null

pointer if stack is empty. Decrement block count and pc nter to top block.No blocks are moved, in particular top block.

gspush

Push block on top of stack, return pointer to new top, return nullif no room. increment pointer to top block and block count.

gspeek

To read contents of particular block in stack. Offset indicatesin stack,

>=0, displacement from top

< O, displacement from bottom.

Return pointer to start of requested block. Return null pointer if out-of-range.

gspoke

Place contents of block into stack replacing particular stack block.Offset indicates location in stack,

pointer

location

TRW Houston System Services - 1 - (printed 12/18/86)

gstack.c(3) (Stacks) gstack.c(3)

>:0, displacementfrom top< O, displacementfrom bottom.

Returr,null pointer if out-of-range, nonnull otnerwise.gsempty

Emptycontents of stack.Set top of stack to zero.error else return beginof stack

Returnnull pointer if

gsfreeFreealiocation for stack. Return nuil pointer

make_gstackb size block sizemblock maximumnumber Of blocks

buffer. pointer to where stack is to begin Create new stack

beginning at location indicated by buffer, having block

size of b_size, and maximum number of blocks m block,Return null stack pointer whem error. Return pointer to new

stack. If input for pointer to stack is nut! then space is

allocate_ according tc stack slze. IS onput for pointer to

char is null then space is allocated according to m blockanO b size.

q_popPop the front clock of queue. Re_urn pointer mo old front block. Return

null ooinmer if oueue 1s empty. Decrement block count. Ad3ust pointer tofroD_ O]OCK. NC blocks are moved, ir_ particular front block.

q_pusn

Push biook on top of queue, return pointer to new top, return nullif nO room. Increment pointer to tob block ano block count.

pointer

TRW Houston System Services - 2 - (printed 12/18/86)

BaseTime.c(3) (Time) BaseTime.c(3)

NAME

BaseCalTime, dD_BaseTime, GBeginTime, GEndTime,LEndTime, LDelTime - Base and time control

SYNOPSIS

GDelTime, LBeginTime,

CALTIME BaseCalTime;

double dD_BaseTime;

double GBeginTime;

double GEndTime;

double GDelTime;

double LBeginTime;

_oubie LEndTime;

double LDelTime;

DESCRIPTION

These parameters are urovi._ea with tme idea that GBeg_nTime _ GEndTime and

that the nom_na! Begin _nd Enc_ t_mes oafault to these vaiues. They prov_oe

a_aec safe_y in the c2se where BeginT_me and EndTime may De changed _uringexecution.

BaseCalTime

Time from which all t_mes are measured,

Assumed to be UT in Gregoria_ Calemd_r

JD BaseTimeJulian date of BaseCalT_me

GBeginTime

Global start time ir_ seconds from BaseCalTime.

No processing _s consiaered beyona this time

GEndTime

As BeginTime but at end.

GDelTime

Global Time step in seconds

These parameters are provided with the iJea that they specify working timespans. The EndTime _ay be _ess th_n the BeginTime for backwards timeprocessing. They should default to the Global times.

LBeginTimeStart time _n seconds from BaseCalTime.

LEndTime

As BeginTime but specifies end.

TRW Houston System Services - 1 - (printed 12/18/86)

cmpdat.b(3) (Time) cmpdat.b(3)

NAME

cmpdat, cdtojd, jdtoco

SYNOPSIS

subroutine cmpdat (date,djul)

douDie precision date (6)

double precision o]wl

entry cdtojd (date,djul)

entry jdtocd (djul,date)

DESCRIPTION

cmp_atDoes true calculations for: 1 Calendar date to Julian date. 2Gate to Ca]en_ar ¢ate.

Gate the calendar date- yr mo, day, rip, min, sec (input/output

djul julian Gate (assumed at noon) (input/output)

cdtojo

Converts a given ca!enOeP mate to its oorrespondin# Julian mate.

Julian

jdtocdConverts double

minute,seconds.Drecision 3ui_an date tc year,month,day,hour.

COMMENTS

Date must be before year 2000 and after 1984.

TRW Houston System Services 1 - (printed 12/18/86)

_ays.b(3) (Time) days.b(3)

NAMEOays

SYNOmSISsubroutine days (dv!,dv2,d)integer dvl (3)integer dv2 (3)integer d

DESCRIPTIONOays

Computesthe numberof naysbetweentwo calendardates.dvl date vector (y.m,d) for first date

dv2 date vector (y,m,d) for seconddate

numbero÷d_ysOiEferencebetweendatesCOMMENTS

1.2.

Algorithm worksfor years after 1582.

ZmDiementatiommssumesthzt yearsbetween0 an_ 200 ape relative,/ear 1900.

to

TRW Houston System. Servtees 1 (printed 12/18/86)

daysxx.b(3) (Time) daysxx.b(3)

NAME

dBysxx

SYNOPSIS

function daysxx (y,m)

integer y

_nteger m

DESCRIPTION

daysxxComputes leap-year correction to days.

y input year

m input month

TRW Houston System Services 1 - (printed 12/18/86)

dhms.b(3) (Time) dmms.b(3)

NAME

dhms

SYNOPSIS

subroutine dnms (t,dhm,sec)

doub]e precision t

integer dhm (3)

red] sec

t

dhm

sec

COMMENTS

DESCRIPTION

dhms

Converts a t_me in seconds to days, hours, minutes, seconds.

time tag (input)

days, hours, and minutes (output)

seconds (output)

Time tag must be in seconds.

TRW Houston System Services 1 - (printed 12/18/86)

hms2ds.b(3) (Time) hms2ds.b(3)

NAME

hms2ds

SYNOPSIS

subroutine hms2as (itime,te)

_nteger itime (3)

double p_eclsior_ te

DESCRIPTION

hms2ds

Converts hours minutes and seconds to double precision seconds.

1time integer hours, minutes, seconds (input)

te douPle precision seconds (output)

TRW Houston System Services - 1 - (printed 12/18/86)

j2c.b(3) (Time) j2c.b(3)

NAME

j2c

SYNOPSIS

subroutine j2c (t,jb,tv,sec)

double precision t

integer j_

integer t\' (5)

re&] sec

DESCRIPTION

j2c

Takes juiian base plus offset in seconds and gives

year,month,day,hour,min and real seconds.

lnDut time in seconds relative to base date

j_ Oase julian day' (input)

_v integer time vector. (y:m:d:h:m) input

sec Pea] seconds {output)

back integer

TRW Houston System Services - 1 - (printed 12/18/86)

j2ymd.b(3) (Time) j2ymd.b(3)

NAME

j2ymd

SYNOPSIS

subroutine j2ymd (jd,ymd)

integer jO

integer ymd (3)

DESCRIPTION

]2yma

Computes calendar year month day from universal

jd julian oate (input)

ymd year month day vector (output)

Julian date.

TRW Houston System Services 1 - (printed 12/18/86)

secnds.b(3) (Time) secnds.b(3)

NAME

secnds

SYNOPSIS

subroutine secn_s (datel,aate2,secs)

double precision datel (6)

double precision date2 (6)

double #recision sees

DESCRIPTION

secnds

Determines the difference in seconds betweetq two calendar times.

date1 1st date as double words (input)

date2 2nd date as double words (input)

secs seconds betweem the two dates (output)

TRW Houston System Services 1 - (printed i2/18/86)

systime.c(3) (Time) systime.c(3)

NAME

CurSysTime, GMTsec. GMTday, GetCurTime, fprtCurTime, prtCumTimetime

system

SYNOPSIS

CALTIME CurSysTime;

long GMTsec;

int GMTday:

CALTIME *GetCurTime()

void fprtCurTime(file)

FILE *file;

vole prtCurTime()

DESCRIPTION

Module fo_ ootaining current time as witnessed by system. The variables

CurSysTime, GMTsec, and GMTaay _esDectiveiy co_teln tiqe system GMT date.secons since 1970 and days since 1970. Tnese variables are set upon

calling the the 9unctlo_ GetCurTime. They are not uDaate_ otherwise an¢may accord_nal_ De ssale. Note _n par_outar that fortCurTime merely #Pints

what _s in CurSysTlme and aces no= uDaa&e the value.

GetCurTime

Sets external variable to curent GMT

pointer to the variable CurSysTimeas witnessed by system. Returns

fprtCurTime

Displa_ current system time in ful _ format. See fprtctime for details.

prtCurT1me

Display current system time in full format to stdout,

TRW Houston System Services 1 (printed 12/18/86)

timedate.c(3) (Time) timedate.c(3)

NAMEhms2sec, sec2hms,Std time, mnthnum-

dayslbc, days, etsec, jul2cal,

time format conversions

SYNOPSIS

double _ms2sec(hms)

HMSTIME _hms;

HMSTIME _sec2hms(nms,sec)

HMSTIME _hms;

double sac;

dayslbc{date)

CALDATE _date;

days(date,base)CALDATE *date,*base;

double etsec(to,from)

CALTI_E =to,=from;

doub!e ]ul2cal(]date,date)

aouble jdate;CALDATE _date;

aouDle jut_ate(date)CALDATE _oate;

double jultime(c)

CALTIME _c:

std time(time)CAL_IME =time:

mntnnum(month)

char _month;

]uldate, jultime,

DESCRIPTION

hms2sec

Return seconds specified by hms structure

sec2hms

Convert seconds to hour minute second format.

HMSTIME structure. Note no space is allocated.

Returns the pointer to

dayslbcNumber of days from OjanlBC using the Gregorian calendar. %CDates arevalid from 150ct1582 in Catholic countries [previous ,day was 40ctl5B2 in

old style) and from 14Sep1752 in Britis_ countries (US incluaed) (previous

day was 2Sep1752 O_d style)

daysNumber of days from base date to date Dates must be in Gregorian

calendar. Note that oay of week field is set in this computation.

etse¢

Returns elapsed time in seconds from CALTIME from to CALTIME to.

jul2cal

Converts input dulian date to calendar date, returning the number offractional hours left in the julian time. Note that whole julian dates

TRW Houston System Services 1 - (printed 12/18/86)

timedate.c(3) (Time) timedate.c(3)

occurat noonandcalendar dates are Gregorian.

juldateReturnsju]ian date in days. Date is assumeoto correspond to miOnightthus result is ju]ian date of midnight. Methodis to dadjulian date ofOjanlBCto numberof elapseOdays.

jultlmeReturnsjulian time in bays from calendar time. Note the time oortiom isincludedso that the time tag doesnot alwaysenowith a .5.

std timeE_sures_imeis in normalizedformat, ie, right month,Oar etc.the dayof the weekfieio is set in this normalization.

Note that

mnthnum

Returns number of month baseO on deciphering the characters in month.

Differences between upper anO lower case are ignored. Characters are

checkeO until a match is found , e.g jun or aP are june and april. If nomatch then 0 is returned

TRW Houston System Services 2 - (printed 12/18/86)

timemake.c(3) (Time) timemake.o(3)

NAME

makeT_me, makeHMS, makeDate setDate, setHMS, setTime -time structures

SYNOPSIS

CALTIME *makeTime(n)

int n;

HMSTIME _makeHMS(n)int n:

CALDATE _makeDate(n)

int n;

setDate(date,year,mont_,day

CALDATE -date;

int year,month,_ay:

setHMS(hms,hour.min,sec}

HMSTIME _hms;

int hour,min;double sec;

setTlme(t_me.vear,montn,_av.hour.mln.sec)C_LTIME ,_time:

ir_t year,month,aay:in_ _ou_.m_n;

double sec;

Allocate and set

DESCRIPTION

Create and

aiiocat_on

r,e_urned when errors are encou_tere¢.

makeTime

&!locates space for specif]eO number of CALTIME stpuctures.pointer to a C_LTIME structure.

makeHMS

Allocates space for specified number of HMSTIME structures.pointer to initial HMSTIME structure.

makeDate

Allocates space for specified number of CALDATE structures.

pointer to initial CALDATE structure.

setDate

Set Cate structure to specified values.

setHMS

Set HMSTIME structure to specific values

setTime

Set time structure to specified values.set.

initialize time structures, ca!leo is used for storagewhence structures Ria_ be fPeeo v;i:P; free. N_ll pointers are

Returns

Returns

Returns

Note that day of week is not set.

Note that day of week field is not

TRW Houston System Services 1 - (printed 12/18/86)

timeprint.c(3) (Time) timeprint.c(3)

NAME

fprtdate, sprtdate, prtdate, fprthms,

sprtctime, prtotime, fprtsec, sprtsec,information

sprthms, prthms, fprtct_me,preset - display formatted time

SYNOPSIS

void fpntdate(file,eate)FILE *file;

CALDATE *date;

void sprtdate(s,date)

char *s;

CALDATE *date;

void prtaate(date}

CALDATE *date;

void fprthms(fiie,hms)FILE _file;

HMSTIME *hms;

void sorthms{s.hms)

char *_;

HMSTIME -hms;

voio pmtnmslhms)HMSTIME _nms:

void fprtctime(file,time)FILE _file:

CALTIME _time;

void sprtctime(s,time)

char -s;CALTIME *tlme;

void prtctime(time)

CALTIME *time;

void fprtsec(file,sec)FILE *file;

double sec;

void sprtsecls,sec)

char *s;double sec;

void prtsec(seo)

double sec;

DESCRIPTION

No_e that the file print routines do not add newl ires nor do they flush tneprint buffers. The displays to stdout out do however.

fprtdate

Formatted print of date to file in Dayofweek Momthday, month year format.

sprtdate

Formatted print of date to file in Dayofweek Monthday, month year format.

TRW Houston System Services 1 - (printed 12/18/86)

timeprint.c(3) (Time) timeprint.c(3)

prtdateFormattedprint of date to stdout

fprthmsFormattedprint of hmsto file in hr:min:sec format.

sprthms

Formatted print of hms to string _n nr:mim:sec format.

prtnme

Formatted print of hms to st_out in hr:min:sec format

fprtctime

Formatted print of calendar time to specified file.

sprtctime

Formatted print of calendar time to specified string.

prtctime

Formatted print of calendar time to stQout

fprtsec

Formatted print of _ms to file in hr:min:sec format.

sprtsec

Formatted print of nms to strin# im hr:mim:eec format

Drtsec

Formatted print of rims to stdout _n hr:mi_:sec format

TRW Houston System Services 2 - (printed 12/18/86)

ymd2j.b(3) (Time) ymd2j.b(3)

NAMEymd2j

SYNOPSISsubroutineymd2j(ymd,jd)integer ymd(3)integer ja

DESCRIPTIONymd2j

Computesdulian universal date given calendar year,month,day.yma c_tenQar year month _ay (input) year is either calendar

calendar year- mod 1900

ja julian date (outDut)

year or

TRW Houston System Services 1 - (printed 12/18/86)