navpak system description and user's guide

1 downloads 0 Views 12MB Size Report
ABSTRACT. This document presents a system description and user's guide for the Landsat ...... The three channels (roll, pitch, and yaw) of the ACS are linear,.
SYSTEMS TECHNOLOGY LABORATORY SERIES

STL-78-002

LANDSAT/NAVPAK SYSTEM DESCRIPTION AND USER'S GUIDE

DECEMBER 1978

NASA,

National Aeronautics ana Space Administration

Goddard Space Flight Center Greenbelt Maryland 20771

SYSTEMS TECHNOLOGY LABORATORY SERIES

STL-78-002

LANDSAT/NAVPAK SYSTEM DESCRIPTION AND USER'S GUIDE

DECEMBER 1978

NASA

National Aeronautics and Space Administration

Goddard Space Flight Center Greenbeit. Maryland 20771

FOREWORD The Systems Technology Laboratory (STL) is a computational research facility located at the Goddard Space Flight Center of the National Aeronautics and Space Administration (NASA/ GSFC). The STL was established in 1978 to conduct research in the area of flight dynamics systems development. The laboratory consists of a VAX-11/780 and a PDP-11/70 computer system, along with an image-processing device and some microprocessors. The operation of the Laboratory is managed by NASA/GSFC (Systems Development and Analysis Branch) and is supported by SYSTEX, Inc., Computer Sciences Corporation, and General Software Corporation. The main goal of the STL is to investigate all aspects of systems development of flight dynamics systems (software, firmware, and hardware), with the intent of achieving system reliability while reducing total system costs. The flight dynamics systems include the following: (1) attitude determination and control, (2) orbit determination and control, (3) mission analysis, (4) software engineering, and (5) systems engineering. The activities, findings, and recommendations of the STL are recorded in the Systems Technology Laboratory Series, a continuing series of reports that includes this document. A version of this document was also issued as Computer Sciences Corporation document CSC/SD-78/6173. The primary contributor to this document was Sharon R. Waligora (Computer Sciences Corporation) Other contributors include Rosemarna S. Pajerski Keiji K. Tasaki Frank E. McGarry Charles E. Goorevich

(Goddard Space Flight Center) (Goddard Space Flight Center) (Goddard Space Flight Center) (Computer Sciences Corporation)

Single copies of this document can be obtained by writing to Keiji Tasaki Code 582.1 NASA/GSFC Greenbelt, Maryland 20771

111

ABSTRACT

This document presents a system description and user's guide for the Landsat Navigation Package (NAVPAK) which was developed by CSC as required by Task 963. Landsat NAVPAK, which is implemented on the Data Acquisition and Flight Dynamics Minicomputer System (PDP 11/70), performs landmark extraction and orbit/attitude estimation, in order to provide automatic registration of landmarks from Landsat imagery.

This document presents a com-

prehensive description of the mathematical models, logic structure, and modular arrangement of the Landsat NAVPAK components. An overview of the Landsat NAVPAK system, subroutine descriptions and tree charts are provided. Also included are descriptions of the COMMON blocks and external data sets used by Landsat NAVPAK. In addition, a comprehensive user's guide for Landsat NAVPAK is provided.

iii

TABLE OF CONTENTS Section 1 - Introduction and Overview of Landsat NAVPAK . . 1.1 1.2 1.3 1.4

Hardware Configuration Software Configuration Data Flow Description of Document

1-1 1-2 . . ...

Section 2 - Computational Models 2.1

2.1.1 2.1.2 2.1.3 2.1.4 2.2 2.2.1 2.2.2 2.2.3 2.2.4 2.3 2.4 2.4.1 2.4.2 2.4.2.1 2.4.2.2 2.4.3 2.4.4 2.5 2.5.1 2.5.2 2.5.3 2.6

2.6.1 2.6.2 2.6.2.1 2.6.2.2 2.6.2.3 2.7 2.7.1 2.7. 1.1 2.7.1.2

Frames of Reference (Coordinate Systems) . . . . Inertial System (x, y, z) Body- Fixed Greenwich System (x , y , z ). . . . Geodetic Coordinate System (i, j, k) Body Frame System Initialization Models • • Recovery of Position and Velocity Julian Date Greenwich Hour Angle (GHA) . Sun Position Model. . . Solve-For Parameters Orbit Propagation Model . . . Fourth-Order Runge-Kutta Integrator Acceleration Models Earth Geopotential Model Modified Harris-Priester Drag Model Associated Partial Derivatives Orbit State Transition Matrix Computations . . . . Attitude Propagation Model Filtering of Raw Wheel Rates Attitude Model Attitude Transition Matrix Observation Model and Associated Partial Derivatives for the Landsat Image Data Observation Model • Observation Partial Derivatives Orbital State Attitude Parameters Camera Biases Sequential Estimation ' Filter Process General Flow of Extended Kalman Filter Flow for Landsat NAVPAK Filter

1-2 1-5 1-8 2-1

. ..

.

. ....

...... . ....

......

...... . ....

......

......

2-1 2-2 2-2 2-5 2-8 2-9 2-10 2-12 2-12 2-13 2-13 2-14 2-14 2-15 2-17 2-17 2-22 2-28 2-29 2-32 2-34 2-35

2-36 2-36 2-42 2-42 2-46 2-49 2-50 2-50 2-51 2-53

TABLE OF CONTENTS (Cont'd) 2.7.2 2.7.3 2.7.3.1 2.7.3.2 2.7.3.3 2.8 2.8.1 2.8.2 2.8.3 2. 8.3.1 2. 8.3. 2 2.9 2.9.1 2.9.2

Landsat NAVPAK Covarianne Prediction Landsat NAVPAK Process Noise Model Position and Velocity Process Noise Attitude Coefficients Process Noise Camera Bias Process Noise . Landmark Extraction Models , Coarse Chip Location Correlation Conversion of Image Data to Landmark Observations Observation Time Conversion of Line and Pixel to Scan and Out-ofPlane Angles Image Correction Synthetic Pixels. Sensor Delay.

..

2-55 2-61 2-62 2-63 2-64 2-65 2-66 2-70 2-74 2-74 2-76 2-77 2-77 2-78

Section 3 - Data Preprocessor Subsystem

3-1

3.1 3.1.1 3.1.2 3.1.3 3.1.4 3.2

3-1 3-3 3-5 3-5 3-8 3-12

Overview Full Scene Reconstruction (PRVFSR). Landmark Chip Extraction (PRCHIP) Super Search Area Extraction Wheel Rate Data Preprocessing Subroutine Descriptions

Section 4 - Extractor/Estimator Subsystem

4-1

4.1 4.2

4-1 4-6

Overview Subroutine Descriptions

Section 5 - Data Base Management (DBM) Subsystem 5.1 5.2

5-1

Overview Subroutine Descriptions . . .

5-1 5-5

Section 6 - Landsat NAVPAK User's Guide 6.1 6.1.1 6.1.1.1 6.1.1. 2 6.1.1.3

General Usage User Input Formats . . Menu Input Parameter List Input User-Response Requests

6-1 ...

VI

6-1 6-1 6-1 6-2 6-2

TABLE OF CONTENTS (Cont'd) 6.1.2 6.1.3 6.2 6.3 6.3.1 6.3.2 6.3.3 6.3.4 6.3.5 6.3.6 6.3.6.1 6.3.6.2 6.3.6.3 6.3.6.4 6.3.6.5 6. 3. 7 6.3. 8 6.4 6.4.1 6.4.1.1 6.4.1.2 6.4.1.3 6.4.2 6.4.2.1 6.4.2.2 6.4.2.3 6.4.3 6.4.3.1 6.4.3.2 6.4.3.2.1 6.4.3.2.2 6.4.4 6.4.4.1 6.4.4.2 6.4.4.3 6.5 6.5.1 6. 5.1.1 6.5.1.2 6.5.1.3 6.5.1.4

System Updating Use of Utility Programs Landsat NAVPAK Main Driver - LNDSAT Data Base Management (DBM) User's Instructions Display/Edit a File List Records on the Line Printer Set the Delete/Restore Flag Compress a File Relink a Link-Listed File Create/Manipulate a Link-Listed File Display/Edit Records in Link-Listed Order. Display/Edit a Specified Record Create and Insert a Record Relocate Records Reset Record Sequence Numbers Display a Video File on the I2S Locate a Record by a Keyword Value Data Preprocessing User's Instructions Full Scene Reconstruction Full Scene Image (FSI) File Initialization Reconstructing Images from CCTs Back-Up and Restore Images with Magnetic Tape. . . . Landmark Chip Creation Initialization of the Chip Data Base, Enter Chips Into the Library Using DBM. Image Processing for Chip Extraction Super Search Area (SSA) Extraction Initialization of the SSA Data Base Image Processing for SSA Extraction Manual SSA Extraction Automatic SSA Extraction Wheel Rate Data Preprocessing Preparation of Raw Wheel Rate Data for NAVPAK . . Determination of Low Frequency Using MEM. Wheel Rate Data Filtering Extractor/Estimator User's Instructions Initialization of Parameters O/A Recovery From the SIAT Input Parameters A Priori Covariance Matrix Input Input Estimation Parameter Guidelines vii

6-3 6-3 6-4 6-5 6-7 6-7 6-7 6-9 6-10 6-10 6-10 6-11 6-11 6-12 6-12 6-12 6-13 6-13 6-14 6-15 6-15 6-16 6-17 6-17 6-17 6-18 6-20 6-20 6-21 6-22 6-23 6-24 6-25 6-25 6-25 6-26 6-28 6-31 6-31 6-34 6-34

TABLE OF CONTENTS (Cont'd)

6.5.2 6.5.2.1 6.5.2.2 6.5.3 6.5.3.1 6.5.3.2 6.5.3.3 6.5.3.4 6.5.3.5

Landmark Extraction Correlation Methods Output Observations Files Extraction/Estimation Extract and Estimate One Landmark At a Time . . . . Extract All Landmarks Before Estimation Use A Pregenerated Observations File Multiple Pass Filter Option Output Reports

Appendix A - Common Block Descriptions Appendix B - File Formats Appendix C - Utility Programs Appendix D - System Update Command Files References

viii

6-36 6-37 6-39 6-40 6-40 6-41 6-41 6-43 6-43

LIST OF ILLUSTRATIONS Figure 1-1 1-2 1-3 2-1 2-2 2-3 2-4 2-5 2-6 2-7 2-8 3-1 3-2 3-3 3-4 3-5

Hardware Configuration Baseline Diagram of Landsat NAVPAK Landsat NAVPAK Data Flow Relationship Between Inertial (TOE) and Body-Fixed Reference Frame A 'A 'A* Geodetic Coordinate System (i, j, k) Landsat Model Observables Tick Mark Coordinate Systems First Pass Correlation of a 8x8 Reference Chip in a 50x50 Search Area Second Pass Correlation of a 16x16 Reference Chip in a 24x24 Search Area Landsat MSS Sensor Delay and Earth Rotation Distortions Interpolation Point Locations Baseline Diagram of the Data Preprocessor Subsystem (PREP) Baseline Diagram of the Full Scene Reconstruction Component (PRVFSR) Baseline Diagram of the Landmark Chip Creation Component (PRCHIP) Baseline Diagram of the SSA Extraction Component Baseline Diagram of the Wheel Rate Data Preprocessor (PREWRF)

4-1 5-1 6-1 6-2 6-3 6-4 6-5 6-6 6-7 6-8 6-9 6-10 6-11

1-3 1-4 1-6 ^-4 2-4 2-37 2-67 2-72 2-73 2-79 2-81 3-2 3-4 3-6 3-9 3-11

Baseline Diagram of the Extractor/Estimator Subsystem (EEAUT) Baseline Diagram of the Data Base Management Subsystem (DBM) Sample Menu Sample Parameter List Landsat NAVPAK Main Menu Main DBM Menu Sample List of Records Link-Listed File Management Menu Landsat Data Preprocessor Menu Landmark Chip Creation Menu Manual SSA Extraction Menu Automatic SSA Extraction Menu Wheel Rate Data Preprocessor User Prompts and Responses ix

4-3 5-4 6-2 6-3 6-4 6-6 6-8 6-11 6-14 6-18 6-21 6-23 6-27

LIST OF ILLUSTRATIONS (Cont'd) Figure 6-12 6-13 6-14 6-15 6-16a 6-16b 6-17 6-18 6-19 6-20 6-21 6-22a 6-22b 6-23 6-24 •

Extractor/Estimator Menu Extractor/Estimator Flow Diagram Input Sources for the Extractor/Estimator Estimation Input Parameters List Orbit A Priori Covariance Input Display Attitude and Bias A Priori Covariance Display Method of Landmark Correlation Menu Type of Observations File Menu Extraction/Estimation Methods of Processing Menu Type of Input Observations File Menu Initial Conditions Report End of Iteration Observations Residuals Report Observations Residuals Report Based on Final State Solve-For Parameter and Covariance Matrix Report Orbit, Attitude and Bias Update Report

6-28 6-29 6-30 6-32 6-35 6-35 6-37 6-39 6-40 6-42 6-44 6-45 6-46 6-47 6-48

LIST OF TABLES

Table 2-1

Atmospheric Density

2-21

SECTION 1 - INTRODUCTION AND OVERVIEW OF LANDSAT NAVPAK

During the months of July and August 1976, a series of discussions were held between Goddard Space Flight Center (GSFC) and Computer Sciences Corporation (CSC) to define the basic functions and structure of a program which would register landmarks from Landsat imagery using spacecraft (S/C) momentum wheel rate data to aid attitude modeling. The term register landmarks refers to the identification that a point on a Landsat image (of the Earth) has a specific geodetic latitude and longitude. The project's purpose was to determine the registration accuracy that could be obtained over multiple scenes of Landsat I and II image data using a minicomputer. It was hoped that by using both imagery and wheel rate data the position, velocity, attitude, and camera biases of the spacecraft could be determined accurately enough to achieve a 1-pixel (approximately 60-70 meter) registration accuracy. Other questions to be answered by the project were optimal data spans and densities, guidelines for the choice of a priori covariances, choice of solve-for parameters, etc. The information gained by this project was to be a step towards developing software for an autonomous satellite which could perform "onboard" determination of its own orbit and attitude. By January 1977, the design document "Navigation Package (NAVPAK) Design for Landsat and Kalman Filter Applications" (Reference 1) was completed. Implementation of the Landsat NAVPAK system began immediately. The entire system was completed in December 1978. In most cases, the original design was followed, but due to changing requirements and information gained during the implementation, changes were made to the original design. As a result of these changes, this document "The Landsat NAVPAK System Description and User's Guide" supersedes the previous document. This document is a complete and comprehensive guide to the Landsat NAVPAK system.

1-1

1.1 HARDWARE CONFIGURATION Landsat NAVPAK is a menu-driven multiple task program which is implemented on a PDP-11/70 computer under the RSX-11D operating system. Interaction between the user and the program is accomplished via a user terminal (usually a DECscope). The Landsat imagery is displayed on a International Imaging Systems ( I S ) graphics device. A cursor (a crosshair indicator on the IS screen which is controlled by a trackball) is used to indicate specific locations within a displayed image. In addition, a large capacity disk drive (RB04) and two tape drives are required. The required hardware configuration is shown in Figure 1-1.

Due to the I/O limitations of the PDP-11/70, some data preprocessing must be done on the IBM S/360. For this purpose several utility programs have been implemented on the IBM S/360. 1.2 SOFTWARE CONFIGURATION The basic software configuration of the Landsat NAVPAK system is illustrated in the baseline diagram given in Figure 1-2. As shown in this figure the three major subsystems are: (1) the Data Preprocessor, (t) the Extractor/Estimator, and (3) the Data Base Management (DBM) subsystem. Each subsystem is a separate task which is called from the main task LNDSAT. Communication among the subsystems is via files and menu-driven operator input. The basic functions of the subsystems are as follows 1.

Data Preprocessor—This subsystem prepares the input data, both Landsat imagery and momentum wheel rate data, for use in the Extractor/Estimator.

2.

Extractor/Estimator—The landmark extractor generates landmark observations from the imagery output from the Data Preprocessor. The estimator then performs orbit/attitude estimation with an extended Kalman filter using the landmark observations. 1-2

I4S

Q DISK



b

n

3

7o.p

Figure 1-1.

Hardware Configuration

i-3

CO

-a J cS bfl •^

Q c 'o a

PQ

bC

1-4

3.

Data Base Management—This subsystem performs maintenance on the data base which is created and used by the other subsystems.

Some of the lower level functions of the Data Preprocessor and Extractor/ Estimator are also shown in Figure 1-2. 1.3 DATA FLOW

The basic flow of the data through the Landsat NAVPAK system is shown in Figure 1-3.

The input data to the system is received from Landsat Computer

Compatible Tapes (CCTs) (imagery), DLP/STAK tapes (momentum wheel rate data), and user-specified estimation parameters. Another possible input is a Goddard Trajectory Determination System (GTDS) simulated observation tape, which can be used to verify the operation of the estimator. This file must be transferred to disk by a PDP-11 utility before it can be used. The output generated by Landsat NAVPAK is the updated spacecraft orbit, attitude, and camera biases, and landmark registration statistics. This information is output through printed reports. A secondary output of the system is a landmark observations file which can be input to GTDS. This allows the data to be used by other estimation techniques (e.g., Bayesian least squares). The main components of the data flow are as follows: 1.

Preprocessing done when receiving a new pass of data (CCTs and wheel rate data tapes). a.

One or more single band Full Scene Images (FSIs) is reconstructed from a set of CCTs. Four CCTs are required to produce one image for each spectral band. The results are usually stored on tape to be transferred to the image library when the scene is to be used. This tape storage procedure is used because of space limitations on the disk packs.

1-5

I 1 OT

•o

I CO

I

s

1-6

b.

On the IBM S/360-95 a raw wheel rate tape is converted to a PDP-11/70 compatible tape and the low frequency components of attitude (yaw, roll, and pitch) are determined. The tape is then moved to the PDP-11/70 where a file containing spacecraft body rates is created, by removing the low frequencies.

2.

One time only preprocessing (chip extraction)—From a reference set of scenes, Landmark chips (16 x 16 pixel (picture element) area containing a landmark) are extracted. The resulting chips are stored in a pre-allocated chip library. Once the chip library has been designated it should remain fairly static.

3.

Creation of Super Search Areas (SSA)—From a set of scenes taken in from a current pass of data, landmark super search areas (SSAs) (100 x 100 pixels) are extracted which are expected to contain areas which correspond to reference chips. The resultant SSA file is stored in a pre-allocated data base. This library is not static and is expected to change along with the body rates file on every Landsat data pass.

4.

Creation of the landmark observations file (Landmark Extraction)— Each SSA is correlated with its corresponding reference chip to obtain the exact picture coordinates of the landmark. Once the line and pixel of the reference chip is located within the SSA, the line and pixel are converted to a landmark observation (time, scan and out-of-plane angles, latitude and longitude). Each observation is stored on the observations file.

5.

Orbit/Attitude Estimation—An extended Kalman Filter is used to update the orbit, attitude, and camera biases. The input consists

1-7

of an observation file, body rates file, and user-specified estimation parameters.

The corrected orbit, attitude, and camera

biases are output in the form of reports. 1.4 DESCRIPTION OF DOCUMENT

Section 2 of the document contains the math models used by Landsat NAVPAK. Sections 3 through 5 contain descriptions of the three major subsystems, the Data Preprocessor, Extractor/Estimator, and Data Base Management, respectively. For each subsystem, an overview and subroutine descriptions are given. Section 6 contains a comprehensive user's guide for the Landsat NAVPAK System. Finally, there are four appendices: Appendix A contains the COMMON block descriptions; Appendix B contains the file formats; Appendix C contains a description of all Landsat NAVPAK utility programs; and Appendix D contains the command files which are used for updating the system.

Some of the initialization parameters such as a priori orbit and attitude can be recovered from a Special Image Annotation File (SIAT) which is given with the imagery.

1-8

SECTION 2 - COMPUTATIONAL MODELS

This section contains the mathematical models used in the Landsat NAVPAK system. Descriptions of the parameters, coordinate systems, and analytical development are included. The mathematical models presented are as follows: •

Frames of Reference (coordinate systems)



Initialization Model



Solve-For Parameters



Orbit Propagation Model



Attitude Propagation Model



Observation Model and Associated Partial Derivatives



Sequential Estimation



Image Correction and Landmark Extraction Models

No attempt is made to show how the models are integrated into the Landsat NAVPAK system. This section is an update of Section 3 of Reference 1 (NAVPAK Design for Landsat and Kalman Filter Applications) and represents these mathematical models implemented in the Landsat NAVPAK system. 2.1 FRAMES OF REFERENCE (COORDINATE SYSTEMS)

In Landsat NAVPAK there are four basic coordinate systems used. The first, the inertial system, true of epoch (TOE), is used throughout the program to represent the orbital state (Cartesian coordinates) of the Landsat satellite. The epoch or reference time, t K , will be (by default) the time at the beginning of the first scene processed. The user has the option to override the default reference time. The second, the body-fixed Greenwich System, x , y , z , B

B

B

is used to represent the Earth-fixed landmark vectors. The third, the geodetic A

A

A

coordinate system, i, j, k, is used to represent spacecraft attitude (roll, pitch, and yaw, respectively).

The transformation to a geodetic coordinate

system is used in the observation model. The fourth, the body frame system, is also used in the observation model. 2-1

2.1.1

Inertial System (x, y, z)

The coordinates of the inertial system (TOE) are defined as follows: Origin = center of the Earth x

= axis lying in the equatorial plane of the Earth and pointing towards Aries (y )

z

= axis pointing toward the North Pole

y

- axis in the equatorial plane perpendicular to the x-axis and oriented so that (x, y, z) is a right-handed system

Using the inertial system, a unit vector, x, may be defined in two ways: •

Inertial coordinates (x, y, z) of the vector x



Right ascension, a , and declination, 6 , of the vector x 0^0^360°;

-90°g 5 s +90°

(0ifz>0)

The relationship between the inertial coordinates and right ascension and declination is given by the following formulas: x = cos 6 cos a y = cos 6 sin a. z - sin 6

2.1.2 Body-Fixed Greenwich System (X B , y~, 2p) The coordinates of the Body-Fixed Greenwich System are defined as follows: Origin = center of the Earth x

B

= axis lying in equatorial plane and passing through the Greenwich meridian

z

= axis pointing toward the North Pole

True of Epoch System (TOE) since Aries will be located at spacecraft epoch.

2-2

= axis in the equatorial plane perpendicular to the x^-axis and oriented so that (x-g, y-g, z-) form a right-handed system Inertial coordinates (x, y, z) at some time, t, from the epoch can be computed from the Earth-fixed Greenwich coordinates (x^., y , ZD) via the following f?

fj

i~j

transformation: - sin X

cos X

sin X

cos X

'XB~

0 " 0



1 where

*B Z

B

X = GHA + (t * u ) G

6

GHA= Greenwich Hour Angle from Aries at the epoch time (no nutation) t = system time measured from epoch to current time 0} = angular rotation of the Earth C

(7.2921159 x 10"5 radians per second) Figure 2-1 presents a graphical relationship between inertial (TOE) and body-fixed reference frame.

2-3

Greenwich Meridian

X

Figure 2-1.

B

Relationship Between Inertial (TOE) and Body-Fixed Reference Frame

Orbit Normal

Spacecraft

Earth Figure

A A

Figure 2-2. Geodetic Coordinate System (i, j, k) 2-4

A

A

A

2.1.3 Geodetic Coordinate System (i, j, k) The coordinates of the Geodetic coordinate system are defined as follows: Origin = Spacecraft j - axis formed by the cross product of the geodetic spacecraft position-vector (x') and the velocity vector (x ) A

k = axis pointing along the geodetic spacecraft position vector (x 1 ) c

i = axis oriented so that (i,j,k) form a right-handed system

/s

/\

/s.

i = j xk

x x 3 = p |xc x X C

xx

where x , y , z c c -c c ' "c

c

=

xx

— =n

k

=

Spacecraft position coordinates in inertial frame (x ) • Spacecraft velocity coordinates in inertial frame (x )

=

Unit vector normal to the ellipsoidal Earth figure

C

pointing toward the spacecraft (i.e., local vertical) x COS 0

A

.

n=

y

c

COS 0

v sin 0

2-5

p

c

=

2 2 Square root of sum of x and y . .c c

p„

_ / 2+ 2 yc

c -Ac

0

c

=

The geodetic latitude

.

c

ap

_i

z c C| J

'

x'

=

J*

Geodetic spacecraft position vector A

n

a

E

e

=

Mean equatorial radius of the Earth (6378.166 km)

=

Eccentricity of the Earth model (0.08182013)

Sit

Figure 2-2 presents a graphical representation of the geodetic coordinate system No explicit expression for x' (x' , y' , z' ) in terms of x , y , and z can be obtained c c c c c c c unless 0 series is truncated at say the e^ term. Another approach is to first find c E the geodetic latitude, longitude, and elevation above the spheroid from geocentric x ,y , and z . Then use standard equations to find x~'. c c c c To find geodetic latitude and elevation above spheroid from geocentric x ,y c

and z: c

2-6

c

Initially set t = e

2 '

Z

Then for each iteration solve for t as follows: Z, = z + t t c N = c c sin 0 = Z t /N

c

V = a /V 1 - e2 sin2 t =

when t converges compute = sin

0

H = N-V

where:

0 = the geodetic latitude H = elevation above the spheroid e , a , and z are as previously defined E E c

Then

2

2

2

2

c +y +z c c c

x+y c c

* COS( 0 ) *

'« V77v +y • " « ' - A * + , » * , * c c V

z

c=

c

c

2-7

c

o

c

J

o

n

2.1.4 Body Frame System The spacecraft attitude is defined by the following set of three Euler rotations from the geodetic orbital frame to the spacecraft body system: 1.

Roll angle, R, is a rotation about the i axis.

2.

Pitch angle, P, is a rotation about the j axis.

3.

Yaw angle, Y, is a rotation about the k axis.

A

Given the attitude (R, P,Y), the Euler transformation matrix used in the transformation from the geodetic orbital reference frame to the spacecraft body system is defined as follows: 1

0

0

0 cosR sinR 0 -sinR cosR cosP 0 -sinP 0 1 0

sinP 0 cosP cosY sinY 0 -sinY cosY 0 0

01

fv v P v Yj "I

[_ R

cosPcosY V=

-cosR sinY -:- sinR sinPcosY sinR sinY + cosR sinP cosY

cosPsinY

-sinP

cosE cosY + sin!? sinPsiuY sicB cosP -sinR cosY + cosR sinPsinY cosR cosP

2-8

2.2.

INITIALIZATION MODELS

The math models used in the initialization process are described in this subsection. Data used in the initialization process comes from a pregenerated user parameter file (Estimator Parameters Input File) and/or the recovery of values from the Special Image Annotation Tape (SIAT). The user has the ability to modify any initialization input parameter and, upon completion, save the initialization values back into the parameters file. If the SIAT file is chosen as an input source, the following initialization takes place: •

Initial estimates at S/C pitch, roll, yaw, nadir latitude, 0, nadir longitude, X , and the spacecraft height, h, are read at Image Center Time (ICT).



The nadir latitude, nadir longitude, and the spacecraft height are converted to spacecraft position and velocity in body-fixed Greenwich system (Section 2.1.2).



The Julian date and Greenwich hour angle at Image Center Time are computed.



The position and velocity components in body-fixed Greenwich system are converted to inertial system (TOE) (Section 2.1.1).



The orbit is propagated backwards to beginning of the first scene (14.35 sec) at which time the new Julian date and Greenwich hour angle are computed. This new time represents the reference time.



The Sun's right ascension and declination are computed analytically at the reference time.

2-9

2.2.1 Recovery of Position and Velocity The Cartesian coordinates of the spacecraft position will be recovered from the nadir latitude, 0 , nadir longitude, A. , and the spacecraft height, h, above an ellipsoidal Earth at ICT. The following conversion formulas will be used:

a h

y1 -

E =

E

x = (lip + h) cos ft) cosX y = (h-jj-i- h) cos $ sin.\ z = [(hE + h) - e| h] Bin

where a

is the mean equatorial radius of the geodetic ellipsoid model (6378.166 km), ili

h

is the height of the geodetic ellipsoid, and e_ is the eccentricity of the geodetic E E model (0.08182013). The nadir latitude, longitude, and height are given at 11 points about the ICT, i.e., at ICT, ICT+5 seconds, ICT+10 seconds, ICT+15 seconds, ICT+20 seconds, and ICT+25 seconds. Using Everett's formula for central difference interpolation, the following is a estimate ot the velocity at ICT:

_! 5

f

"

T

ICT+5 " ?

fi2!



ICT ~ 3

6

f

ICT+5

— ")

as illustrated in Figure 2-3. A simple computational form, as is used in GTDS, can be utilized as follows:

where

I/" = arsin(I')

The partial derivatives are given in Section 2.6.2.3.

2-41

2.6.2 Observation Partial Derivatives In this subsection, the partial derivatives of the landmark observables (e ,y) with respect to orbit, attitude, and picture bias are presented as modeled in GTDS. The partial derivatives with respect to the body rate coefficients are developed for the unique attitude model of the Landsat NAVPAK. The differences between the geocentric and geodetic representations of the matrix T are ignored. Two general expressions for partial derivatives of inverse trigonometric functions are used for any solve-for parameters, p, i.e.,

and

2.6.2.1 Orbital State The dependency of the cosines jj" on the orbit state are through ^ and T, i.e.,

- I" = MVTJ"

so that

2-42

and -^

= MV -=- JL

i-s given by

The matrix aJ

v1 x

—xY

where 6 is the Kronecker delta symbol (6.. = , ,. ) ij \ iJ JO if i ^ j)/ The partial derivatives of the elements of the x product

may be computed by

noticing that

x y

° If the T martix is partitioned into columns, i.e., *OX

T =

OX

l

oy oy

ox koy

k

the following result:

and TI

=

dx.

2-43

k

oz

The partial derivatives of the elements of T are computed as follows (it should be noted that x , x , x0, x , x , x 1

^

o

.1

.2

dk .

are equivalent to x , y , z , x , y , z ):

3

C

&k .

aj_ o _.i

6..

C

c

C

x.- x.

, dL.i _i L. .._ dL

_ 1

dx. ~ U dx. " ~2 5x7 J J L j

ajJ . , dL. ox _ ^_ i

ax.J ~ L ax.J "

aiox / . dp

a

\ oy 3p

ai . /

-2Z « h dp Toz

di

ekoz

/

akox

aj

+

J£y dp

dk

ai.3

\ /

aic

\ /

a-koz

aj

) _( , oy + Joz oz/ \ oz- dp dp

k

)_h oxi \Jox

dj

^o£ = (i __°y + _ox dp \ox dp dp

,T oL

k

aj

+ _125 dp dp

L. i 2 T L

\

k

/

]_(j oy/ \ oy

2-44

dp

+

okOK dp

ajox dp

aj

\ k

oz/

^

, dp °y h ox/

C

C

The partial derivatives of the angular momentum magnitude, L, and of its components, L1, L 2, and Lo, appearing in the above equations, are given by the following:

B

• s

x -%> iT"" s' iT"s s

l _

. T

SP |L|\ i ap

2-45

+T

^2 aP

2.6.2.2 Attitude Parameters Using the expansion for a general partial derivative in terms of the line-of-sight 9e direction cosine (Section 2.6.2, g—), only three sets of derivatives need to be evaluated. The attitude components, i.e., roll ( R ) , pitch ( P ) , and yaw (Y) at time t , enter the model only through the V matrix so that c

*£L = M *LTI SR dR * L

-~ The expressions for 8V/9 R,

dV

ll "aR~"

- SY M •

9V/9P,

and 9 V / 9 Y are given by

dV

=

dV H ll ° ' "dP~ = ~Sin P C°S Y ' "dY~ = ~°°S

P Sin Y

dV SV dV 12 12 12 —— = 0 , ——- = -sin P sin Y , —— = cos P cos Y cm oP OY

-^r- = sin R sin Y -t- cos R sin P cos Y oi\ 21 - = sin R cos P cos Y

2-46

3V

21

=

-cos R cos Y - sin R sin P sin Y

SV 22 = -sin R cos Y + cos R sin P sin Y SR

5V 22 "dp'~ = sin R cos P sin Y

dV

22 '- • • = -cos R sin Y + sin R sin P cos Y oY

= cos R cos P , --

= -sin R sin P , --

8V 31 -r—— = cos R sin Y - sin R sin P cos Y oil

2-47

=0

&V

• 31 = cos R cos P cos Y

= +sin R cos Y - cos R sin P sin Y

—— = -cos R cos Y - sin R sin P sin Y

• - = cos-R cos P sin Y

32 ' = +sin R sin Y + cos R sin P cos Y

av U V

qo

-r^

av * -sin R cos P , -^

2-48

"i^

sv

9^

= -cos R sin P , -~-

=0

The coefficients of the attitude polynomial a , a ,a , and a enter the model J.

u

O

^

attit only through the attitude angles at time t , a(t ) = (R, P, Y). The nonc c zero derivatives are

_

=

aR

ai"

=

ate.

ari ap

v

c

=

o'

j ar

SY

where j =1, 2, 3, 4 2.6.2.3 Camera Biases If the general parameter, p, in Section 2.5.2

£p" is a misalignment parameter

(a"»0" »?"), the required partial derivatives, 3^ "/9P, are

rz

a/3" -,»" aa" la"

where ^' = (/'

•X

ar"

M

•y

, £*jr , $ ' Z ) is obtained from transformation to the body frame

system via matrix V.

2-49

2.7 SEQUENTIAL ESTIMATION In the approach taken to the basic orbit estimation problem, the observations are processed by classical least squares methods, i.e., by processing the data in batches. An alternative approach is to perform the data reduction and parameter estimation in a sequential or recursive manner. The process is begun by making an initial estimate of the state vector from a minimum data set or from a judicious guess. Each new data point is combined with the previous parameter estimate by appropriately weighting the data point to give an improved estimate of the state. This process is repeated as each new data point is reduced. Hence, the procedure can be interrupted at any time and the "best" estimates of the system parameters and their uncertainties based on all accumulated data to that time are known. Other advantages of the process are that at each step the calculations are final in size and format and that the need for storing previous data points is eliminated . The sequential estimation section of the math models is divided into three sec-: tions. Section 2.7.1 describes the flow (both general and specific to Landsat NAVPAK) of the weighted least squares process (infinite memory extended Kalman Filter). Section 2.7.2 gives the partioning of the covariance matrix. Section 2.7.3 describes the process noise computations. 2.7.1 Filter Process The following section describes the flow of the extended Kalman filter which was implemented in Landsat NAVPAK system. The basic recursive equations are 2 given with no attempt at derivation. Section 2. 7.1.1 gives the general flow of The introductory paragraph was taken directly from Reference 3, Section 8.4. 2

See Reference 3 for the derivation of the extended Kalman recursive equations.

2-50

a standard extended Kalman filter. Section 2.1.1.2 gives the specific flow as implemented in the Landsat NAVPAK design. In the following discussion the standard symbols of a carrot (A) and a bar (-) are taken to mean "best" estimate and predicted, respectively. 2.7.1.1 General Flow of Extended Kalman Filter To start the filter, some prior knowledge is required. At time t , one must assume: •

A "best" estimate of the set of solve-for parameters, X(t )



A "best" estimate of the covariance of the errors in the set of solve-for A parameters, P (t ) •-.,

Once an observation has been received at time t4 ,. the state transition matrix $(t , t ) is used to determine a predicted value of the covariance at the observation £

-L

time.

where P

(t ) Ax'2 $ (to**-.) 4

£

is the Kpredicted covariance matrix at time t 2 is the state transition matrix from time t to t

1

(t ) Ax 1

1

6

is the current "best" estimate of the covariance matrix

Next the Kalman gain (K(t )) is computed at time t . The gain is used in both £

«

updating the state solve-for parameters and updating the "best" estimate of the covariance matrix. The gain is computed as follows:

K( = p

( RT(t ) [H(

y Ax y 2 v vv 2-51

HT( + R(t )] 1 y 2"

where

K(t )

is the Kalman gain at time t 4

^

P

(

is the previously computed predicted covariance at time tr

H(t 2 )

is the observation partials at time t

R(t 2 )

is the variance or weight (specified by user) for each type

£t

of observation used in the solution Once the gain at time t£t has been computed, both the state and the covariance matrix can be updated to a new "best" estimate at time t as follows. £i

= X(t2) + K(t 2 ) f(y(t 2 )J

is the new "best" estimate of the state at time t

where

X(t2)

is the previous "best" estimate of the state at time t propagated forward to time t ^

K(t 2 )

is the current Kalman gain (at time t )

y(t 2 )

is the measured observation minus the computed observation (O-C). The observation is computed based on the previous "best" estimate of the state, X (t).

and

= Fl - K(t 2 ) H(t 2 )J

where

is the new "best" estimate of the covariance matrix at time is the identity matrix

2-52

K(t )

is the current Kalman gain

H(t )

is the observation partials at time t

P^X (t2 )

is the predicted covariance matrix at time tu

£t

£i

The filter equations described above explicitly require the computation of the following quantities for each observation. o

State transition matrix, $(t , t )

• •

Observation residuals (O-C), y(t£t ) Observation partials, H(t2)

^

JL

In the general flow, only one observation at a time is used in updating the state. So, if at time t9, two coupled observations were to be available as a pair of observations they would be treated as two separate observations. 2.7.1.2 Flow for Landsat NAVPAK Filter Section 2. 7.1.1 described the flow of a standard Kalman Filter. In this section1 the flow of the Landsat NAVPAK filter is discussed.

The major innovation of the

Landsat NAVPAK filter is the ability to process the scan and elevation angles •;•; observation pair before making a state update. This procedure results in a computational savings by requiring the observation model to be called only once per landmark.. The flow of the filter is as follows: 1.

Initialize the filter by specifying a priori estimates of the state (solvefor parameters) and the covariance matrix. Data is either read from the Single Image Annotation Tape (SLAT) and/or the estimation parameters file, or is user-specified (see Section 2.2).

2.

Retrieve the next landmark for processing.

The information retrieved

is the time tag of the landmark, observation pair of scan and elevation angles and associated user-specified latitude and longitude. The latitude and longitude are used in the observation model to compute the scan and elevation observation angles.

2-53

3.

Propagate the current "best" estimate of the orbital state to the time of the landmark using the Runge-Kutta integrator. The orbital state transition matrix is also computed at this time.

4.

Propagate the current "best" estimate of the attitude (roll, pitch and yaw) to the time of the landmark. The filtered body rates and the solve-for attitude coefficients (a - a ) are used in this computation The attitude state transition matrix is also computed at this time.

5.

Compute the residuals (O - C) and partial derivatives for both scan and elevation angles (observation pair).

6.

Enter the loop in which each observation of the observation pair is treated separately. • ' First time through the loop: Set predicted error in the state to zero. Compute the predicted covariance matrix (see Section 2.7.2). If requested, edit first observation based on Screditing criterion.. Compute the gain for the first observation. Update the covariance and state error based on the first observation. Ax(t 2 ) = K(t2) [y(t 2 )]

where

Ax(t )

is the error in the state based on the first observation

K(t_) £t

is the Kalman gain computed for the first observation

y(t )

is the measured first observation minus the calculated

^

first observation (O-C).

2-54



Second time through the loop: Set the predicted error, Ax(t ), equal to the current estimate of £*

the state error Ax(t£t ) resulting from the first observation. Set the predicted values of the covariance matrix equal to the updated covariance computed the first time through loop. If requested, edit the second observation based on 3">

"'

- — —V

\ \jf~^~-~-~~~J^~"

)

\

^^.^p'^Center of FP grid \ ' \ points (0,0) \ . . \ \ ', __ \ \ \< ... - -^"\^ \

•+ ^

FP

FP

NMAX

\ ' \

VY WMAX WMAX ^EMAX \ \ -^-\" ' \ __-— -—^"^"^" \ ~—-^\ — ^^^ \ \ ——~~~~" \; \ ~ \

-(FP (

-FP SMAX

%MIN — + SMIN

) SMIN e

SMAX -

FP

= FP

FP

= FP

P

-

P

=[ (FP +1/2) 2256] +43

P = LLA (FP

+ 1/2) + 1

RMS =

The iteration terminates when RMS is less than 1. 0 or 10 iterations have occurred.

2-69

2.8.2 Correlation > CO

•s

CO

CQ

h

1 W IB

o CD bO

.2

Q

CD CQ

«J

pq

>

CO

X!

ra

o ^^ HGT(MAX), SET RHO TO ZERO. IF THE HEIGHT LIES WITHIN THE RANGE OF THE TABLE, SEARCH AND FIND THE CLOSEST '/ALLIES. FROM THE MAXIMUM AND MINIMUM HEIGHT OBTAINED FROM THE TABLE, COMPUTE THE CORRESPONDING DENSITIES CRHOMAX AND RHOMIN) USING AN EXPONENTIAL INTERPOLATION ALGORITHM. THEM, USING THE EIGHT ASCENSION OF THE SUN AND SPACECRAFT, COMPUTE THE S/G POSITION RELATIVE TO THE APEX OF THE.EARTH'S DIURNAL BULGE USING A COSINE VARIATION FUNCTION. USING I/ALUES FROM STEPS 4 AND 5, COMPUTE THE DENSITY, RHO. COMPUTE THE DIRECTION AND MAGNITUDE OF THE S/C VELOCITY REL AT I [-"•£ TO THE ATMOSPHERE. COMPUTE THE ACCELERATION DUE TO DRAG. IF PARTIALS ARE REQUIRED. COMPUTE AND SUM THE COEFFICIENTS FOE THE ACCELERATION PARTIALS OF DRAG WRT S/C POSITION AND VELOCITY, AND RETURN. ARGUMENT LIST: ARGUMENT TYPE IPART 1*2

X •XD DDRAG

E*8

I/O I I 0 0

DESCRIPTION PAETIALS INDICATOR 8=DO NOT COMPUTE PARTIALS i=COMPUTE PARTIALS S/C POSITION AND VELOCITY S/C ACCELERATION DUE TO DRAG PARTIALS OF DRAG WET S/C POSITION AND VELOCITY

CALLING SUBROUTINES: ACCEL SUBROUTINES CALLED: MMFFF COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /ESTCOM/ HGTOLD I/O SUNASC I /LUNCOM/ LUNLST I

PARAMETER I/O PS I/O

PARAMETER I/O RHO I/O

EXTERNAL DATA SETS USED: NONE PROGRAMMER: S, R. WALIGORA REFERENCES: THE MATH MODEL REFFEEEED TO IN ATMOS IS GI'/EH IN "THE LANDSAT HAl'-TAK SYSTEM DESCRIPTION AND USER'S GUIDE", SECTIONS 2.4.2.2 PHD ?

4-12

SUBROUTI HE ATTUDE C T8,T, IRET) PURPOSE: ATTUDE PROPAGATES THE ATTITUDE OF THE SFACECRAFTFEOM TIME T0 TO TIME T, USING BODY RATE DATA. METHOD 1. F WHEEL RATE DATA IS NOT TO BE USED. GO TO STEP 6. 2. EEAD THE CALENDAR START TIME "TO" AND-END TIME "T"

3. 4. 5. 6. 7.

FROM HEADER OF THE BODY RATES FILE (ERF) AND CONCERT IT TO A JULIAN DATE. READ THE BODY RATE L-'ECTORS FROM THE BRF. COMPUTE.THE COEFFICIENTS HMD CONSTANTS OF THE SERIES FOR THE HIGH FREQUENCY CONTRIBUTION TO THE ATTITUDE FOE EACH ANGLECR,F,Y). SUM THE SERIES OF THE ABOt-'E COEFFICIENTS AND CONSTANTS FOR EACH ANGLE (R,P,Y). COMPUTE THE LOW FREQUENCY CONTRIBUTION TO THE ATTITUDE MOD EL FOR E A C H A N G L £ C R,P,Y). ADD CORRESPONDING HIGH'AND LOW FREQEMCY TEEMS FOR EACH ANGLE, AND RETURN.

ARGUMENT LIST: ARGUMENT TYPE TS R*8 T R*8 IKET 1*2

I/O I I 0

DESCRIPTION START TIME OF PROPAGATION END TIME OF PROPAGATION ERROR FLAG: 0=NO ERROR 1=ERROR OCCURRED

CALLING SUBROUTINE: ORBATT SUBROUTINES CALLED: DATJUL COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /ESTCOM/ DELT I/O DTA I/O ATT I/O /ESTPRM/ ROLL I /lAL-'COM/ lAL-'BRF I/O EXTERNAL DATA SETS USED: NAME LUN BODYRATE.DAT 11 PROGRAMMER:

PARMAETER I/O WSTART I/O ALOW I/O PITCH

1

PARAMETER I/O I/O WEND I/O AHIGH YAW

I/O OPERATIONS PERFORMED READ

R. WALIGORA

REFERENCES: THE MATH MODEL PERFORMED BY ATTUDE IS G Il'EN IN "THE SYSTEM D E S C R I P T I O N A N D U S E R ' S G U I D E " . . S E C T I O N 2.5.

4-13

LfiNDSAT

NAl'TAK

SUBROUTINE "ATJULCY, XM, D, HR, TM, SEC, DJO, EJO) PURPOSE: DATJUL CONCERTS AM INPUT CALENDAR DATE TO ft MODIFIED JULIAN DATE (JULIAN DATE - 2400F1RR0) . THE JULIAN DATE IS OUTPUT IN BOTH EFHEMEEIS TIME (ET) AND UNIVERSAL TIME (UT) . METHOD: 1. CONCERT THE INPUT YEAR. MONTH, AND DAY FROM REAL NUMBERS TO INTEGERS (ROUNDING UP). 2. COMPUTE THE FRACTIONAL DAY. 3. COMPUTE THE MODIFIED JULIAN DATE (UT) USING THE ALGORITHM Glk'EN IN THE REFERENCE. 4. COMPUTE THE MODIFIED JULIAN DATE (ET) USING THE ALGORITHM GIl-'EN IN THE REFERENCE, AND RETURN. ARGUMENT LIST: ARGUMENT TYPE R*8 XM R*8 D R*8 HR R*8 Til R*8 SEC R*S DJO R*8 EJO R*8 CALLING SUBROUTINES:

I/O I I I I I I 0 0

DESCRIPTION YEAR MONTH DAY HOUR MINUTES SECONDS MODIFIED JULIAN DATE MODIFIED JULIAN DATE

GETOMP,

IN IT, OBSLMK,

(UT) (ET)

ATTUDE

SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: NONE EXTERNAL DATA SETS USED: NONE PROGRAMMER: C. GOOEEl-'lCH REFERENCES: THh MATH MODEL PERFOKMED BY DATJUL IS GIU'EN IN SECTION c.2.2 Oh "THE LfiNDSAT NAL-'FAK SYSTEM DESCRIPTION AND USER'S GUIDE."

4-14

*

SUBROUTINE DCOEECCMAX, CSI I. WORK,SAREA, REFER,CCOEF, • NS,NE,NC,IM,JM,IRET)

Pi iP.POSE: DCORH COMPUTES THE C O R R E L A T I O N OF A R E F E R E N C E C H I P HMD H SSA. METHOD: THE CORRELATION ALGORITHM GIL-'EN IN THE REFERENCE IS USED TO COMPUTE THE CORRELATION COEFFICENT OF EACH POSITION OF H NE*NR REFERENCE CHIP IN H NS*NS SEARCH AREA. THE RESULT IS A NC*NC MATRIX OF CORRELATION COEFFICIENTS. THE HIGHEST CORRELATION COEFFICIENT AND ITS POSITION IN THE HATE IX ARE ALSO RETURNED. ARGUMENT LIST: ARGUMENT TYPE CMAX E*8

CS I G WORK SAREA REFER CCOEF

MS NR NC IM

R*8 R*8 L*l ' ' L*l L*i 1*2 I *2 1*2 1*2

" I/O

0 0 I /O

I

1

0

I I

I

0

JM

1*2

0

IRET

!*,"'

0

DESCRIPTION HIGHEST CORRELATION COEFFICIENT SIGMA l-'ALUE NR*NE WORK SPACE NS*NS SEARCH AREA .' NR*NR REFERENCE CHIP NC*NC ARRAY OF CORRELATION COEFFICIENTS SIZE OF SEARCH AREA SIZE OF REFERENCE CHIP SIZE OF COEFFICIENT MATRIX LOCATION OF HIGHEST CORRELATION COEFFICIENT IN CCOEF(ROW) LOCATION OF HIGHEST CORRELATION COEFFICIENT IN CCOEF CGOLiiHN) RETURN CODE: 8=SUCCESSFUL CORRELATION 1 CORRELATION NOT SUCCESSFUL

CALLING SUBROUTINES: EXMCOR, EXACOR SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /LUNCOM/ LUNLST I

PARAMETER I/O

PARAMETER I/O

EXTERNAL DATA SETS USED: NONE PROGRAMMER: E. M. O'NEILL REFERENCES: THE -CORRELATION ALGORITHM USED IN DCORR IS 'Gli-'EN IN "THE LANDS AT NAl/'PAK SYSTEM DESCRIPTION AND USER'S GUIDE", SECTION 2.8.2.

4-15

SUBKOUTIHE DVNEDT(V, W., H, YHAT, WHAT) PURPOSE: DYNEDT COMPUTES AN UPDATED OBSERVATION WEIGHT AND RESIDUAL, AND DETERMINES THE ACCEPTABILITY OF THE OBSERVATION, METHOD :

1. INITIALIZE THE EDIT FLAG.

£. COMPUTE THE MATRIX, Z, WHICH IS THE PRODUCT OF THE PREDICTED COVAR IHNCE MATRIX (FBAE) AND THE TRANSPOSE OF THE OB StK RATION

PHRTIHLS (HI . 3. UPDATE THE OBSERVATION RESIDUAL (YHAT) AND THE OBSERVATION WEIGHT CWHAT) .

4. PERFORM EDITING BASED ON THE CRITERION (SIGMA) INPUT BY THE USER. 5. RETURN. ARGUMENT LIST: ARGUMENT TYPE Y R*8 W R*8 H R*S YHAT R*8

K*S

CPLLING SUBROUTINES:

I/O I I I 0

o

DESCRIPTION OBSERVATION RESIDUAL (0-C) OBSERVATION WEIGHT OBSERVATION PAETIfiLS UPDATED OBSERVATION RESIDUAL

UPDATED OBSERVATION WEIGHT

EEAUT

SUBROUTINES CALLED: MMSPF COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /ESTCOM/ Z 0 EDIT 0 /ESTPRM/ HSOLVE I

PARAMETER XBAE

I/O I

SIGMA

I

EXTERNAL DATA SETS USED: NONE PROGRAMMER: E. J. FLEMING

4-16

PARAMETER I/O P3AE I NED IT

I

PURPOSE: EEflUT IS THE MAIN ROUTINE IN THE EXTRACTOR/ESTIMATOR. IT CONTROLS BOTH MENU INPUT fiND THE COMBINED EXTRACTION AND ESTIMATION PROCESS. METHOD: 1, DISPLAY THE MAIM MENU. IF TERMINATION IS SELECTED, GO TO STEP 16, 2. IF INITIALIZATION IS SELECTED, GO TO STEP 5. IF EXTRACTION ONLY IS SELECTED.. GO TO STEP 3. IF EXTRACTION/ESTIMATION IS SELECTED, DISPLAY THE MENU -OF PROCESSING MODES, AND SET MODE FROM THE RESPONSE. ?,. DISPLAY THE TYPE OF OBSERVATIONS FILE I1EHU, AND SET I OUT FROM THE RESPONSE, 4. IF ft FBEGEHEEfiTED FILE IS TO BE USED, GO TO STEP 5. OTHERWISE,' DISPLAY THE METHOD OF CORRELATION MENU, AND SET I COKE FROM THE RESPONSE. 5. CALL SETPRM TO PERFORM THE INITIALIZATION. IF INITIALIZATION ONLY WAS SELECTED, GO TO STEP 1, AFTER COMPLETING THE INITIALIZATION. 6. INITIALIZE CONTROL FLAGS, AND WRITE THE INITIAL CONDITIONS REPORT. 7. OPEN THE APPROPRIATE OBSERVATIONS FILE ACCORDING TO THE FUNCTION BEING PERFORMED. IF A FREGENERATED GTDS OBSERVATIONS FILE IS TO 3E USED, CALL INOBS TO COPY IT TO A HfiVPflK OBSERVATIONS FILE. 8. IF EXTRACTION IS TO BE PERFORMED, INITIALIZE THE IIS. 9. PERFORM THE EXTRACTION/ESTIMATION PROCESS AS FOLLOWS: ft. DEPENDING ON MODE CALL EXTEXC TO EXTRACT ALL OR ONE LANDMARK. IF A PEEGENERATED FILE IS BEING USED, OMIT THIS STEP. IF EXTRACTION ONLY IS TO BE PERFORMED, GO TO STEP 15. 3. CALL READWF TO RETRIEVE THE NEXT OBSERVATION FROM THE OBSERVATIONS FILE.' C. CALL OBSLMK AND LMKPRT TO COMPUTE THE OBSERVATION ANGLES AND THE PARTIAL DERIVATIVES. D. FOR EACH OBSERVATION ANGLE, PREDICT THE COVARIANCE AND COMPUTE THE KALMAN GAIN AND STATE CORRECTION VECTOR. E. IF THE OBSERVATION WAS NOT EDITED, UPDATE-THE SOLVE-FOR STATE. F. ADD THE 0-C AND EDIT FLAG TO THE OBSERVATIONS RECORD. G. STORE THE UPDATES AND STATE ON THE TEMPORARY ELEMENTS FILE. H. IF ALL OF THE OBSERVATIONS HAVE BEEN PROCESSED, GO TO STEP IS. OTHERWISE, IF MODE IS 1, GO TO STEP 9A; IF MODE IS 2 OR 3, GO TO STEP 9B. in. FOE THE FIRST ITERATION, GENERATE THE RESIDUALS AND STATE UPDATE REPORTS. 11. PROPAGATE THE STATE AND COVARIANCE BACK TO THE REFERENCE TIME, AND GENERATE THE SOLVE-FOR PARAMETER AND COVARIANCE MATRIX KEPOP.T. 12. FSOMPT THE HSEP Aci TO WHETHER ANOTHER ITERATION OR TERMINATION IS DESIRED. IF ANOTHER ITERATION IS REQUESTED, GO TO STEP 3. IF TEEM I NAT I ON IS SELECTED, GO TO STEP 13. 13. RETRIEVE EACH OBSERVATION FROM THE OBSERVATIONS FILE, AND COMPUTE THE RESIDUALS BASED ON THE FINAL UPDATED STATE VECTOR, id, WRITE THE FINAL RESIDUALS REPORT, AND PROPAGATE THE STATE BACK TO THE REFERENCE TIME. !S CLOSE THE OBSERVATIONS FILE, THE BODYKAT£C, FILE,- AND THE TEMPORARY ELEMENTS FILE. GO TO STEP 1. It:. SET THE EVENT FLAG, AND RETURN CONTROL TO LND3AT. ARGUMENT LIST: CALLING SUBROUTINE: LNDSAT

4-17

SUBSOUTiriES CALLED: rtENU, SETFEM, EXTEXC, EEADWF, OESLilK, LMKPKT. FEEDCT, DVHEDT, UPDATE, STATE-, OSBflTT, REPORT, OABEPT, OBSKPT COMMON BLOCK FAFAMETEES USED: COMMON HAME PARAMETER I/O /OBSCOM/ IOBS I/O I/O DLAT I/O OMC I BAND I/O I xLUNCOi' LUN i LUNBEF IAK>BS I/O I /ESTPSM/ IDEIJN 1 i 1NTUE T /ESTCOM/ EG EXTERNAL DATA SETS USED: '- NAME . LUN IIS 1

GTDSOBS.DHT

' OBSNF.DAT EODYEATE.DAT TEMP. ELEMENTS



12 15 11 14

PAEAMETEE I/O YMDOB I/O DLON I /O SIG 0

PARAMETER I/O HMSOB I/O Otis I/O IEDIT 0

LUNOBS LUNELM

I I

LUN OBI

OBSWT

I

NED IT

I/O OPERATIONS PEEFOEMED INITIALIZE OPEN,.CLOSE OPEN, CLOSE OPEN, CLOSE CLOSE OPEN, WRITE, CLOSE

PROGRAMMES: S. E. UALIGOEA

4-18

I

SUBROUTINE EXACOECI CORE,RLINE,RFIX, IRET5 PURPOSE: EXACOE CONTROLS AUTOMATIC LANDMARK CORRELATION. METHOD: 1. REHD ..:•'!• REDUCE THE SSA WHICH IS DISPLAYED ON THE IIS, SO THAT El--'ERV OTHER PIXEL OF E!-'ERV OTHER LINE IS STORED IN THE SSA CORRELATION ARRAY. 2. ::""-1: AND REDUCE THE CHIP WHICH IS DISPLAYED ON THE IIS IN THE SAME MANNER USE;.' !N STEP 1. STORE IT IN THE CHIP CORRELATION ARRAY. 3. CALL DCOF.K TO CORRELATE THE REDUCED CHIP AND SSA. A. MOL-'E THE CURSOR TO THE POINT OF HIGHEST CORRELATION IN THE SSft, 5. READ OUT THE CHIP AND STORE IT IN THE CHIP CORRELATION ARRAY. 6. READ OUT A 32*32 PIXEL AREA AROUND THE CURSOR, AND STORE IT IN THE jSfl CORRELATION ARRAY. 7. CALL DCORR TO CORRELATE THE CHIP AND THE 32*32 PIXEL PORTION OF THE SSA. 8. MQi/E THE CURSOR TO THE NEW POINT OF HIGHEST CORRELATION IN THE bSA. ' 9. IF FULLY AUTOMATIC CORRELATION IS BEING PERFORMED, COMPARE THE ' CORRELATION COEFFICIENT WITH THE MINIMUM ACCEPTABLE CORRELATION COEFFICIENT. IF IT IS ACCEPTABLE, GO TO STEP 11. OTHERWISE, DISPLAY A MESSAGE, SET THE RETURN CODE, AND RETURN. 1Q. IF THE ACCEFT/EEJECT OPTION IS BEING USED, DISPLAY THE CORRELATION COEFFICIENT OF THE OiiRsOi? LOCATION, AND PROMPT THE USER TO ACCEPT OR REJECT THE LANDMARK. IF IT IS ACCEPTED, GO TO STEP 11. OTHERWISE, SET THE RETURN CODE, AND RETURN. 11. READ THE PIXEL OFFSET FROM THE SSA LINE WHICH CONTAINS THE LANDMARK..COMPUTE THE PICTURE COORDINATED OF THE LANDMARK, AND RETURN. AGEUMENT LIST: ARGUMENT TYPE ICOEE 1*2. RLINE RPIX I RET

R*8 R*S 1*2

I/O I I/O I/O 0

DESCRIPTION TYPE OF CORRELATION 2=AUTOMAT 1C WITH ACCEPT/REJECT OPTION 3=FULLY AUTOMATIC LANDMARK LINE COORDINATE LANDMARK PIXEL COED I NATE RETURN CODE: Q-SUCESSFUL CORRELATION ^CORRELATION FAILED

CALLING SUBROUTINES: EXTEXC SUBROUTINES CALLED: DCOER, GETSCR, CURSOR COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /LUNCOM/' LUN I /ESTPEM/ COREflN I /LCl-'HDR/' M? I I NFL T r IPS t /SSI/HPE/ NFLS ' I ' EXTERNAL DATA SETS USED: . NAME LUN I!S . i

PARAMETER I/O LUNLST I

PARAMETER I/'

NL

I

MFP

I

NLS

I

MFFS

I

I/O OPERATIONS PERFORMED READ, WRITE

PROGRAMMER: E, M, O'NEILL AND S, E. WALIGOEH REFERENCES: ' THE CORRELATION METHOD USED IN EXACOR IS DESCRIBED IN "THE LANDSAT Nftl/fftK SYSTEM DESCRIPTION AND USER'S GUIDE". SECTION 2.8.2.

4-19

SUBROUTINE EXMCORCICOER, RLINE, RFIX,IRET) PURPOSE: EXMCOR CONTROLS MANUAL LANDMARK CORRELATION. METHOD: 1. COPY THE CHIP FROM THE IIS TO THE CHIP CORRELATION ARRAY, AND CORRELATE THE CHIP WITH ITSELF TO OBTAIN THE BEST CORRELATION COEFFICIENT POSSIBLE. 2. PROMPT THE USER TO SET THE CURSOR ON THE BEST ESTIMATE OF THE LANDMARK LOCATION, AND READ OUT THE CURSOR COORDINATES. 3. COPV A 32*32 PIXEL AREA AROUND THE CURSOR INTO THE SSA CORRELATION ARRAY. 4. CALL DCORR TO LOCATE THE POINT OF HIGHEST CORRELATION, AND MOk'E THE CURSOR TO THAT POINT. 5. DISPLAY THE CORRELATION COEFFICIENT OF THE INDICATED LOCATION, AND PROMPT THE USER TO ACCEPT OR REJECT THE LANDMARK OR REPOSITION THE CURSOR AND TRY AGAIN. IF IT IS ACCEPTED, COMPUTE THE PICTURE COORDINATES OF THE LANDMARK, AMD RETURN. IF IT.IS REJECTED, SET THE RETURN CODE, AND RETURN. !F THE USER WISHES TO REPOSITION THE CURSOR, GO TO STEP 2. AGRUMENT LIST: ARGUMENT TYPE ICORE 1*2 RLINE RPIX IRET

R*8 R*8 1*2

I/O I I/O I/O 0

DESCRIPTION ' TYPE OF CORRELATION 1=MANUAL CORRELATION LANDMARK LINE COORDINATE LANDMARK PIXEL COORDINATE RETURN CODE: 0 = NORMAL COMPLETION 1= CORRELATION FAILED

CALLING SUBROUTINES: EXTEXC SUBROUTINES CALLED: GETSCR, DCORR, CURSOR COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /LUNCOM/ LUN I /SSl/HDF:/ MPC: I MFFS I /LCl.-'HDR/ ' NFL I EXTERNAL DATA SETS USED: NAME LUN IIS 1

PARAMETER I/O MLS

I

MFP

I

PARAMETER I/O NFLS

I/O OPERATIONS PERFORMED READ, WRITE

PROGRAMMER: E. M. O'NEILL

4-20

I

SUBROUTINE E X T E X C ( M O D E , I H D , I O U T , I C O R R , ! E R R ) PURPOSE: EXTEXC CONTROLS LANDMARK. EXTRACTION. METHOD: 1. OPEN THE CHIP AND SSfi L-'IDEO FILES AND THE SSH DATA FILE. 2. IF THIS IS THE FIRST TIME, COMPUTE THE START AND END TIMES HMD SET THE OBSERVATION RECORD POINTEE, 3. IF ONE LANDMARK IS TO BE EXTRACTED (MODE=1),PROCEED AS FOLLOWS: A. CALL EXTSSA TO DISPLAY THE NEXT SSH AND ASSOCIATED CHIP. B. CALL EXMCOR OR EXACOR (DEPENDING ON ICOES) TO CORRELATE THE CHIP AND SSA. C. CALL EXTOBS TO COMPUTE THE OBSERVATION AND STORE IT ON THE OBSERVATIONS FILE. D. CLOSE THE FILES AND RETURN. 4. IF ALL LANDMARKS ARE TO BE EXTRACTED (MODE=3), PROCEED AS FOLLOWS: A. CALL EXTSSA TO DISPLAY THE NEXT SSA AND ASSOCIATED CHIP. B. CALL EXMCOR OR EXACOR (DEPENDING ON I CORK) TO CORRELATE THE CHIP AND SSA. C. CALL EXT03S TO COMPUTE THE OBSERVATION AND STORE IT ON THE OBSERVATIONS FILE. D. IF ALL SSA'S HAVE NOT BEEN PROCESSED GO TO STEP 4A. OTHERWISE, INITIALIZE THE ESTIMATOR FLAGS TO USE THE OBSERVATION FILE FOR'ESTIMATION, CLOSE .THE FILES, AND RETURN. ARGUMENT LIST: ARGUMENT • TYPE MODE 1*2 IND

I

. DESCRIPTION MODE OF EXTRACTION =1, EXTRACT ONE LANDMARK •-'6> EXTRACT ALL LANDMARKS PHASE OF PROCESSING

=1 OR 2, OBSERVATIONS BEING PROCESSED =3, HO MORE OBSERVATIONS TYPE OF OUTPUT OBSERVATIONS FILE

T/O I

1*2



=M, NO OBSERVATIONS PROCESSED

IOUT

1*2

I

ICORR

1*2

I

=1, NAVPAK OBSERVATIONS FILE =2, GTDS OBSERVATIONS FILE TYPE OF CORRELATION

0

=1, =2, =3, ERROR

IERR

R*8

CALLING SUBROUTINES:

EEAUT

SUBROUTINES CALLED: EXTSSA,

EXMCOR, EXACOR, EXTOBS

COMMON BLOCK PARAMETERS USED: FARAMhThR I/O IAVWA T/0' IAVOES I/O LUNSSA I LUN I

sfi ME E X T E R N A L DAT;: NAME L C V. D A T SSA.DAT

MANUAL AUTOMATIC WITH ACCEPT/REJECT OPTION FULLY-AUTOMATIC FLAG: 0=NO ERROR

H 3

i

_ h'ARAMHTER I/O IAVSSV I/O LUHSSV

ET'IME OP EN, C L Ob E OPEN, CLOSE

PROGRAMMES: E. M. O'NEILL

4-21

I

FAEAMETtR I/O IftVLCV I/O LUNLCV

I

SUBROUTINE EXTOBS(MQDE, 1ND, RLINE,EPIX, I OUT, I RET) PURPOSE: EXTOES CREATES A LANDMARK OBSERVATION FROM PICTURE COORDINATES AND STORES IT IN THE SPECIFIED OBSERVATIONS FILE. METHOD: IF fill OF THE OBSERVATIONS HAVE BEEN CREATED PREVIOUSLY C I N D = 3 > , GO TO STEP 9, PACK THE START AND END TIMES OF THE RUN, AND ROUND THE PICTURE COORDINATES TO THE NEAREST INTEGER, COMPUTE THE OBSERVATION ANGLES FROM THE PICTURE COORDINATES. COMPUTE THE TIME TAG, AND CHECK TO SEE IF IT IS WITHIN THE SPECIFIED DATA SPAN, IF IT IS BEFORE THE GIVEN START TIME,. DISPLAY A MESSAGE, SET THE RETURN CODE, AND RETURN. IF THIS IS THE FIRST OBSERVATION ACCEPTED. SET THE START TIME AND GO TO STEP 5. IF THE OBSERVATION TIME TS LATER THAN THE END TIME, SET THE END TIME TO THE LAST OBSERVATION TIME, DISPLAY A MESSAGE, AND RETURN. STORE Tf-lir OBSERVATION TIME IN THE OBSERVATION RECORD BUFFER, AND SET THE TEMPORARY END TIME TO THE TIME TAG, INCREMENT THE OBSERVATION .NUMBER AND COUNTER. IF A NAVFAK OBSERVATIONS FILE IS BEING CREATED, OUTPUT THE OBSERVATION BUFFER /OBSCOIV TO THE OBSERVATIONS FILE. GO TO STEP 3. IF A GTDS OBSERVATIONS FILE IS BEING CREATED, COMPUTE THE REQUIRED OUTPUT VALUES, AND WRITE TWO OBSERVATION RECORDS: THE FIRST FOR THE SCAN ANGLE; THE SECOND FOR TliE ELEVATION ANGLE. IF THE LAST OBSERVATION HAS BEEN REACHED, WRITE THE HEADER

RECORD FOR THE SPECIFIED FILE, ANn RETURN. REG LI ME NT LIST: ARGUMENT TYPE MODh 1*2

I/O I

IND

I

RLINE RFIX I RET

I I 0

DESCRIPTIONMODE OF PROCESSING: 1=CEEATE ONE OBSERVATION 2=USE A PREGENERATED OBSERVATION FILE 3=CREATE HLL OBSERVATIONS PHASE OF PROCESSING: 8=NO OBSERVATIONS CREATED I=OBSEEVATIONS BEING CREATED 2=LAST OBSERVATION BEING CREATED 3=END OF DATA LINE COORDINATE OF THE LANDMARK PIXEL COORDINATE OF THE LANDMARK RETURN CODE: 0=OBSERVATION CREATED 1=OBSERVATION REJECTED

CALLLING SUBROUTINES: EXTEXC SUBROUTINES CALLED: OBSTIM COMMON BLOCK PARAMETERS USED: PARAMETER I/O LUN

/EXTCOM/

STIME START IOBS DLAT [BAND SCT HEAD

PARAMETER I/O LUH03S 5 ETIME

END YMD03 DLON 5EDIT

4-22

I /O I/O 0 5/0 5/0

PARAMETER I/O LUNLST I

VMDSCT NOBS HMSOB

OB'S"""

I I /O r. 0

EXTERNAL DfiTA SETS USED: NP.riE LUN GTDSOBS.DfiT 12 OE

OHb**,i)HT

OK* = SUN ID)

12

1X0 OPERATIONS PERFORMED WRITE • . •

WHITE

PROGRAMMER: S. R. WfiLIGOEA REFERENCES: THE MftTH MODEL FOE COMPUTING THE OBSERVATION fiNGLES IS GIl-'EN IN !| THE LflNDSAT Hfli-'PHK SYSTEM DESCKIPTION HMD USER'S GUIDE'S SECTION 2.8.3.2,

4-23

SUBROUTINE EXTSSACMODE, IND, XLINE, XFIX, I RET) PUEPOSE: EXTSSA RETRIEVES THE NEXT :HIP AND SSA FROM THE DATA BASE, AND DISPLAYS'•"• THEM ON THE IIS. METHOD: 1 IF MODE EQUALS 1, READ THE SSfl, SSI', fiND LCI-' HERDER RECORDS. IF NO LANDMARKS WERE EXTRACTED YET, LOCATE THE FIRST SSfl IN THE REQUESTED -TIME SPAN:. flND GO TO STEP 4. IF THE SSA FLE IS NOT SORTED, DISPLAY A MESSAGE, AND RETURN. READ THE NEXT (IN LINK-LISTED ORDER) SSH DATA RECORD. IF THE QA FLAG IS SET, GO TO STEP 3. OTHERNISE, COMPUTE THE OBSERVATION TIME AT THE SSfl CENTER, AND CHECK IF THE SSA IS WITHIN THE TIME SPAN. IF IT I ACCEPTABLE, GO TO STEP 5. IF THE -OESEEL'HTION TIME IS TOO EARLY GO TO STEP 3. IF IT IS TOO LATE, GO TO STEP 9. DISPLAY THE CHIP OH THE IIS. READ THE SSA VIDEO HEADER DATA, AND DISPLAY THE SSA ON THE IIS. SET THE CURSOR TO THE CENTER OF THE SSA. TRANSFER THE LATITUDE AND LONGITUDE OF THE LANDMARK, THE BAND NUMBER AND THE PICTURE COORDINATES OF THE SSA INTO THE OUTPUT OBSERVATION RECORD BUFFER, /OB S COM/. RETURN . ARGUMENT LIST: ARGUMENT TYPE MODE 1*2

IND

XL INE XPIX IRET

0 0

1*2

o

DESCRIPTION MODE OF OPERATION 1=EXTEACT ONE LANDMARK 3=EXTF:ACT ALL LANDMARKS PHASE OF PROCESSING 8=NO SEA'S PROCESSED !=SSA'S BEING PROCESSED 2=LAST SSA BEING PROCESSED 3=END OF DATA CENTER LINE OF SSA CENTER PIXEL OF SSA ERROR FLAG: 0=HO ERROR 1=NO SSA LOCATED 2-SSA FILE NOT SORTED

CALLING SUBROUTINES: EXTEXC SUBROUTINES CALLED: OBSTIM, IMAGE, CURSOR COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O IDCHIP I /O /CHIP/ HDRPNT I/O ISCENE I/O DDHH I/O I/O RLAT OK UK I /O OH I/O I /O /HDRCOil/ STITLE LSCENE I/O SIA'l I /O /LUNCOM.--' I1 LUN L UN LCI--' 1AVSSA I/O o DLAT STArlT

PARAMETER CNAME SSl'-'PNT JBAHD MINUTE RLON LAST DELETE LBAND HEAD LUNSSA lAKSSi; DLOH END

4-24

I/O I /O I/O I/O I/O I/O I/O I/O I/O I/O

I 1 /O 0

PARAMETER flDPMT . I PASS YYMM SECS KLINE NEXT

I/O I/O I/O I/O I/O I/O I/O

LPASS AN NOT

I/O I/O

LUNGS'/1

I

1

LUNLC / I BAND

I/O 0

/EXTCOh/ /ESTFKM/ /SSAHDF/

I NEXT

NFAC;:~; MftXSSA IEEC1 MPiXLCl-1 MFF NEXT!/' ilfiXSF.L-' HE ECS NEXTS

EXTEEMPtL DATA SETS USED: HflME LLIN IIS 1 SSft.DfiT 3 5 3 l-'.E'AT 4 L.C!.''.DfiT S

I/O I I/O I/O I/O I/O I/O I/O I /O I/O

NSCENE I SORT . IEEC2 MP NFL

I I/O I/O I/O I/O

IIJSORT IREC3 NL MRECC

I/O I/O I/O I/O

MF'S NFLS

I/O I/O

NLS MFFS

I /O .1/0

I/O OPERATIONS PERFORMED UKITE READ READ READ

PROGRAMMER: E. M, O'NEILL AND S. R, HAL IGORA

4-25

SUBEOUTI HE GETOAF(I RET) PURPOSE: GETOAF RECOVERS THE ORBIT AMD ATTITUDE FROM THE SIAT FILE OF THE F1SST SCENE. METHOD: 1. OPEN THE SSA DATA AND I-1!DEO FILES. 2. IF THE FIRST PASS AND SCENE NUMBERS ARE NOT GI'/'EN IN THE. PARAMETER LIST /ESTFRM/, PROMPT THE USER TO ENTER THEM. 3. SEARCH THE 5SA DATA FILE FOE ft SSA FROM THE SPECIFIED SCENE, AND OBTAIN THE HEADER POINTER. 4. READ THE HERDER DATA CONTAINING THE SIAT FILE FROM THE SSI-' FILE. 5. SETEIEl'E THE ATTITUDE CONSTANTS FROM THE SI AT AND CONCERT THEM TO DEGREES. 6. RETRIEi-'E THE TIME CONSTANTS FROM THE SI AT AND CONCERT THEM FROM BCD TO BINARY. COMPUTE THE SCENE CENTER TIME CSCT) AND THE REFERENCE TIME (SCT-14,35). COMPUTE THE JULIAN DATES OF THESE TIMES. 7. RETRIEVE THE LATITUDE, LONGITUDE, AND HEIGHT OF THE SPACECRAFT AT THE ELEl-'EN TIMES SURROUNDING AND INCLUDING THE SCENE C EN TEE TI ME . 8. CON1/EET THE GEOGRAPHIC COORDINATES AT SCT TO CARTESIAN COOED I NATES TO OBTAIN THE S/C POSITION. 9>. INTERPOLATE THE ELEl-'EN S/C POSITIONS TO OBTAIN THE S/C VELOCITY USING THE ALGORITHM GIL-'EN IN THE REFERENCE. 18. COMPUTE THE GREENWICH HOUR ANGLE AT SCT AND TRANSFORM THE S/C FOblilON TO INEKTIAL COORDINATES. 11. COMPUTE THE SOLA* DECLINATION AND EIGHT ASCENSION AT REFERENCE TIME, AND RETURN. ARGUMENT LIST: "ARGUMENT TYPE I RET 1*2

I/O 0

DESCRIPTION RETURN CODE: 3=NO ERROR

CALLING SUBROUTINES: SETPRM SUBROUTINES CALLED: DATJUL, SOL, XGHA, BCD, COMMON BLOCK PAEAMETEES USED: COMMON NAME PARAMETER I/O /ESTCOM/ EJO 0 SINDSC 0 /'ESTP'EM/ 0 YMDSCT HMSREF 0 YAW 0 /LUNCOM/ LUN I /'HDRCOM/ I /O STITLE I SCENE I/O SI AT I/O EXTERNAL DATA SETS USED: NAME LUN SSA.DAT 3 1 SSI- . DAT 4 PROGRAMMES:.

:ON

PARAMETER I/O DJO 0 0 COSDbC HMSSCT 0 0 PITCH K 0 I LUNSSA I BAND I /O HEAD I/O

PARAMETER I/O 0 SUNASC VMDREF ROLL

0 0.

LUNSSl-"' IPASS AN NOT

I I/O I/O

i/n OPERATIONS PERFORMED READ, OPEN, CLOSE HEAD, Oh'EN, CLOSt

P.'. WALIGORH

p TT U TT TJ P N !'*' C.' C; • ,

-

-

THE i'JATH MODEL USED IN GETOAP IS G I L ' E N "THE LfiNDSHT NAl-TAK SYSTEM DESCRIPTION A N D USER'S G U I D E " , SECTION £ . 2 . 1 ,

4-26

SUBROUTINE GETSCRCARRAY,NL, NP, IL, IP, IRET) PURPOSE: GET3CR TRANSFERS ft PORTION OF AM IMAGE FROM THE IIS INTO A BUFFER. METHOD: 1. CHECK TO MAKE SURE THAT AREA REQUESTED IS ON THE IIS SCREEN, IF NOT, DISPLAY A MESSAGE AND RETURN. 2. FOR EACH LINE THAT WAS REQUESTED, CALL IMAGE TO READ THE REQUESTED PIXELS AND STORE THEM IN THE OUTPUT ARRAY. 3. WHEN ALL OF THE REQUESTED DATA HAS BEEN TRANSFERRED, RETURN. ARGUMENT LIST: ARGUMENT TYPE ARRAY L*l NL 1*2 NP 1*2 IX 1*2 IP 1*2 IRET 1*2

I/O 0 I I I I 0

DESCRIPTION IMAGE OUTPUT ARRAY NUMBER OF LINES TO READ NUMBER OF PIXELS TO READ INITIAL LINE INITIAL PIXEL RETURN CODE: 0 = NORMAL RETURN 1= REQUESTED DATA OF? SCREEN 2 = IIS READ ERROR

CALLING SUBROUTINES: EXMCOR,

EXACOR

SUBROUTINES CALLED: IMAGE COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /LUNCOM/ LUH I EXTERNAL DATA SETS USED: NAME LUN IIS i

PARAMETER I/O

PARAMETER I/O

I/O OPERATIONS PERFORMED READ

PROGRAMMER: E. ri. O'NEILL

4-27

SUBROUTINE

INITCIB)

PURPOSE: IN IT INITIALIZES INTERNAL PARAMETERS AND CONTROLS THE COt-'HEIPNCF HMD NOIC,E MATRICES,

OF THE

METHOD: INITIALIZE COUNTERS AND MAKE SURE THE START TIME IS NOT BEFORE THE REFERENCE TIME. COMPUTE THE JULIAN DATE OF THE REFERENCE TIME AND THE RIGHT ASCENSION AND DECLINATION OF THE SUN. SAl'JE THE A PRIOR! ORBIT, ATTITUDE, AND BIfiSES IN COMMON /ESTSAl-V FOE REPORT GENERATION. IF THE COl-'AEIANCE MATRIX IS HOT TO BE INPUT, GO TO STEP 7. DISPLAY THE ORBIT COi/'ARIftNCE MATRIX, AND PROMPT THE USER FOR INPUT VALUES. AFTER EACH INPUT, CHANGE THE LVALUE IN THE INPUT COl-'ASIANCE ARRAY. DISPLAY THE ATTITUDE AND BIAS COkfiEIfiNCE DIAGONAL ELEMENTS, AND PROMPT THE USER FOE INPUT. AFTER EACH INPUT, CHANGE THE I/ALUE IN THE INPUT COi-'ARIANCE ARRAY. INITIALIZE THE INTERNAL COl-'AEIANCE MATRIX FROM THE INPUT COl-'AEIANCE ARRAY. IF PROCESS NOISE IS TO BE USED, REPEAT STEPS 4, 5, AND 6 FOR THE NOISE COl'AEIANCE MATRIX, AND RETURN. ARGUMENT LIST: ARGUMENT TYPE IB 1*2

I/O 0

DESCRIPTION CAMERA BIAS SOLI'S-FOR INDICATORS

CALLING SUBROUTINES: SETPEM SUBROUTINES CALLED: SOL, DATJUL COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /ESTCOM/ PHAT 0 0 EJO COSDSC 0 /ESTFEM/ STIME I/O NCOL-EL 0 AFCOl-' I/O NAPENO I NFS I AS I /ESTSAl// X8 0 n YAWQ r LUN /L UN COM/-

PARAMETER I/O GAMMA 0 0 SUNASC

PARAMETER I/t 0 DJO 0 SINESC

NSOLl-'E YMDREF NOISE NATT

0 I I I

NSLt-'Ml HMSEEF NAPE NPDIA

PITCH0 BIAS8

0 0

ROLL8

EXTERNAL DATA SETS USED: NONE PROGRAMMER: S. E. WALIGOEA

4-28

0

I I

I o

SUBROUTINE INOBSCIRET) PURPOSE: I NOES TRANSFER:1. OBSERVATION DATA FROM RH INPUT GTDS OBSERVATIONS FILE TO ft NftVPAK OBSERUPTIONS FILE.

.

METHOD: 1. INITIALIZE THE ERROE FLAG, COUNTERS, AND THE INPUT ARRAY, I DATA. 2. READ THE HERDER RECORD OF THE GTDS OBSERVATIONS FILE, AND WRITE THE NAVFAK OBSERVATIONS FILE HEADER RECORD. 3. FOR EACH LANDMARK READ ft PAIR OF GTDS OBSERVATION RECORDS, REFORMAT THE DATA, AND WRITE ONE NAVPAK OBSERVATION RECORD. CHECK TO MAKE SURE THAT BOTH OBSERVATIONS IN A PAIR HAVE THE SAME TIME TAG. IF NOT, WRITE AN ERROR MESSAGE. 4. WHEN ALL OBSERVATIONS HAVE BEEN TRANSFERRED, RETURN. ARGUMENT LIST: ARGUMENT TYPE IRET 1*2

I/O 0

DESCRIPTION ERROR FLAG: 0=NO ERROR

CALLING SUBROUTINES: EEAUT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /LUN COM/ LUN I /IAVCOM/ IAVOBS I/O /OB S COM/ I /O NOBS I/O DLAT I/O HMSOB EXTERNAL DATA SETS USED: • NAME LUN OBSWF.DAT 15 • OES**.DAT 12 (** = RUN ID)

PARAMETER I/O. I LUN OB S JOBS DLON

I /O I/O

PARAMETER I/O I LUNOB 1



OES YMDOB

I/O OPERATIONS PERFORMED REHD WRITE

PROGRAMMER: S. R. WALIGORA

4-29

I/O I/O

SUBROUTINE LMKFET PURPOSE: LMKFET GOriPiJTES THE PARTIAL - DERI I/ATI l-'ES OF THE OBSERVATIONS, SCAN CEFSILON) AND ELE/ATIOH f'DELTft) ANGLES W.E.T. THE SOLfE-FOR PARAMETERS. METHOD: 1. COMPUTE THE F A E T I A L DEEIl-'ATH-'ES OF L I N E - O F - S I G H T

U N I T i/ECTOR

(TLos)• W.E.T. EARTH CENTERED IMEETIAL FRAME CTOD:> ,

2. COMPUTE THE FAETIAL DEE H-'ATIL'ES OF TLOS W.E.T. THE SATELLITE POSITION i/ECTOE. 3. COMPUTE THE FflETlHL DEK WfiTWES OF TLOS U.E.T. THE SATELLITE VELOCITY. 4. COMPUTE THE PHETIHL DEE Il/ATIl/ES OF SCAN AND ELECTION HNGLES W.E.T. THE SPACECEfiFT POSITION AND VELOCITY. 5. IF THE ATTITUDE PARAMETERS ARE BEING SOLVED FOE, COMPUTE THE PAETIALS OF .TLOS W.E.T. ATTITUDE. 6. COMPUTE !THE PAETIALS OF SCAN AND ELEVATION ANGLES W.E.T. HTITUDE SOLl'EFOK J- AEAMETEES. 7. IF THE CAMERA BIASES AEE TO BE SOLVED FOE, COMPUTE THE PAETIALS OF SCAN AND ELEl-'ATION ANGLES W.R.T. THE SOLb'E-FOR CRMEEA BIASES, AND RETURN. ARGUMENT LIST: NONE CALLING SUBROUTINE: EEAUT SUBROUTINES CALLED: TODOEE, MMFFF COMMON BLOCK PAEAMETEES USED: COMMON NAME PARAMETER I/O /LMKCOM..-' TLOS I FEYMAT I BL I OREL I ./ESTCOM/ RG 0 /ESTPRMX NATT I /LUNCOM/ I LUNLST

.PARAMETER I/O T I PRYPAR I BLXDIF I EPSPBI I NPBIA

I

PHKAMETtK I/O I TPAR I RANGE SQTtiXD I I DELFBI NPBIAS

I

EXTERNAL DATA SETS USED: NONE PROGRAMMER: S. E. WALIGOEA REFERENCES: LANDSAT Nfll-'FAK THE MATH MODEL REFERRED TO IN LMKFRT IS SYSTEM DESCRIPTION HND USER'S GUIDE". SECTIONS 2.6.2,1 AND 2-6.2.3.

4-30

SUBROUTINE MfiFFFCfi,MEA,NCR,B,C,MEOWft,HEOWB,NROWC) PURPOSE: MAFFr COMPUTES THt SUM OF TWO MA TRICKS STOKED IN h'ULL STOEAGE MODE. THE SUM IS RETURNED IN ft SUBMATEIX STORED IN FULL STOEAGE MODE. METHOD: ADD SUBMATEIX A (FULL STOEfiGE) TO SUBMATEIX B -(FULL STOERGE) AND STOEE THE EESULTS IN THE SUBMATRIX. C. THE CHARACTER ISTICS OF THESE SUBMATEICES HND THE MATEICES.WHICH CONTAIN THEM ARE GIl-'TN IN THE ARGUMENT LIST. ARGUMENT LIST: TYPE ARGUMENT R*8 A

I/O T

-n u

1*2 1*2 R*S

I I I

r

E*8

O

NEOWA

1*2

I

NEOWB

I *2

I

NROWC

I *2

I

NEA NCA

'

DESCRIPTION THE " 1 , 1 " ELEMENT OF ONE OF THE SUBMATEICES USED IN THE SUMMATION. NUMBER OF ROWS IN THE SUBMATEICES. NUMBER OF COLUMNS IN THE SUBMATEICES. THE " 1 , 1 " ELEMENT OF THE OTHER SUBMATRIX USED IN THE SUMMATION. THE "1., 1" ELEMENT OF THE SUBMATEIX IN WHICH THE SUM OF A AND B IS STORED. NUMBER OF ROWS IN THE MATE IX CONTAINING SUBMATEIX A. NUMB E R OF R OWS IN TH E MA TEIX C ON7ft ININ G SUBMATEIX B, NUMBER OF ROWS IN THE MATE IX CONTAINING SUBMrtTRIX C.

CALLING SUBROUTINES; FREDCT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: /SCETCH.'' IS USED AS A WORK Si-'ACI EXTERNAL DATA SETS USED: NONE PROGRAMMER: E, J. FLEMING CANNOT bit THh bAMh AS tilTHhK 3UBMHTKIX A

4-31

SUEROU'i IHh ilMCFFCA, D, N E E , N C E , C, NKOWB, NKOWC) PURPOSE: MMCFF MULTIPLIES A 5UEMATRIX BY A CONSTANT. HLACED IN A SUEMATRIX IN FULL STORAGE.

THE RESULT IS

METHOD: MULTIPLY EACH ELEMENT OF THE INPUT SUBMATEIX BY THE CONSTANT AND STORE IT IN THE OUTPUT MATRIX. ARGUMENT LIST: ARGUMENT TYPE A R*R B R*8 NKB I*S NCB 1*2 C R*8

I/O i I I I O

HEOWE

1*2

I

NROWC

1*2

I

DESCRIPTION CONSTANT MULTIPLIER THE " 1 , 1 " ELEMENT OF THE MULTIPLICAND NUMBER OF ROWS IN SUBMATRIX B NUMBER OF COLUMNS IN SUBMATRIX B THE " 1 , 1 " ELEMENT OF THE SUBMRTRIX CONTAINING THE PRODUCT NUMBER OF ROWS IN THE MATRIX CONTAINING SUEMATRIX B NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATSIX C

CALLING SUBROUTINES: PREDCT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: • /SCETCH/ IS USED AS A SOEK SPACE. EXTERNAL DATA SETS USED: NONE PROGRAMMER: R. J. FLEMING

4-32

SUBROUTINE MMFFF Cfi, NRA, NCft, B, NCB, C., NROWA, NEOW3, NROWC) PURPOSE: MMFFF COMPUTES THE PRODUCT OF TWO MATE 1C IBS STORED IN FULL STORAGE MODE. THE PRODUCT IS RETURNED IN A SUBMATEIX STORED IN FULL STORAGE MODE. METHOD: MHLTIPLV SUBMATEIX A (FULL STORAGE) TIMES SUBMATRIX B (FULL STORftGE) AND STORE THE RESULT IN THE SUBMftTRIX C, THE CHARACTERISTICS OF THESE SUBMATRICIES ARE GIl/EN IN THE ARGUMENT LIST. ARGUMENT LIST: TYPE AP.GUMEt-r R*8 A

DESCRIPTION THE "1., i« ELEMENT OF THE SUBMATRIX WHICH IS THE MULTIPLIER. NUMBER OF ROWS IN SUBMftTEIX A. NUMBER OF COLUMNS IN SUBMflTRIX ft, THE " 1 , 1 " ELEMENT OF THE SUBMATRIX UiHICH

NRA NCR B

1*2

NCB r

1*2 R*8

I 0

NROWA

1*2

I

NROWB

1*2

I

1*2

I

NEOWC

IS THE MULTIPLICAND.

.

NUMBER OF COLUMNS IN SUBMATRIX B. THE "1.. 1" ELEMENT .OF THE SUEMATE IX IN WHICH THE PRODUCT OF ft AND B IS STORED. NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATRIX A. NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATSIX B. NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATRIX C.

CALLING SUBROUTINES: GETOAP, OBSLMK, LMKFRT, ORBIT, ATMOS SUBROUTINES CALLED: NONE COMMON BLOCK FAEMETEES USED:_ XSCRTCH.--' IS USED AS A WOKK Si-'ACE. EXTERNAL DATA SETS USED: NONE PROGRAMMER: R. J. FLEMING RESTRICTIONS: SUBMATRIX C CANNOT BE THE SAME AS EITHER SUBMATEIX A OR B.

4-33

SUBROUTINE MMFSF(A, NEA, NCA, B, I B , J B , N C E , C , N E O W A . N f i O W C ) PURPOSE: MMFSF COMPUTES THE PRODUCT OF A SUBMATEIX IN FULL STORAGE MODE AND ONE IN SYMMETE 1C STORAGE MODE. THE PRODUCT IS RETURNED IN H SUEMATEIX STORED IN FULL STORAGE MODE. METHOD:

IF THE SUBMATEIX IS flBOk'E THE DIAGONAL IN SYMMETRIC STORAGE, SIMPLV MULTIPLY THE SUBMATRICES AND STORE THE RESULT IN THE OUTPUT MATRIX IN THE FULL STORAGE MODE. IF THE SLIEMATEIX BOUNDS THE DIAGONAL OR IS BELOW THE DIAGONAL IN SYMMETRIC STORAGE, COMPUTE THE LOCATION OF EACH ELEMENT IN THE SYMMETRIC MATRIX AS THE MULTIPLICATION IS BEING PERFORMED. THEN STORE THE RESULT IN THE OUTPUT MATRIX IN FULL STORAGE MODE.

ARGUMENT LIST: JGUMENT TYPE A R*t:

I/O I

HE A NCA B

1*2 I*? R*8

I I I

IB

1*2

T

JB

1*2

I

NCB

I *2

I

c

R*8

0

NROWA

1*2

I

NROWC

1*2

I

DESCRIPTION THE " 1 , 1 " ELEMENT OF THE SUBMATEIX WHICH IS THE MULTIPLIER. NUMBER OF ROWS IN SUBMATRIX A. NUMBER OF COLUMNS IN SUBMATRIX A. THE " 1 , 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SUBMATRIX USED AS THE MULTIPLICAND. THE ROW IN MATRIX B CONTAINING THE " 1 , 1 " E L E ME N T OF THE MU L TIP L IC A N D . THE COLUMN IN MATRIX E CONTAINING THE " 1 , 1 " 'ELEMENT OF THE MULTIPLICAND. THE NUMBER OF COLUMNS IN THE SUBMATRIX USED AS THE MULTIPLICAND. THE " 1 , 1 " ELEMENT OF THE SUEMATEIX WHERE THE PRODUCT IS STORED. NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATRIX A. NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATRIX C.

CALLING SUBROUTINES: FEEDCT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: XSCETCH-- IS USED AS A WORK SPACE. EXTERNAL DATA SETS USED: NONE PROGRAMMER: E. J. FLEMING RESTRICTIONS: SUBMfiTEIX C CANNOT BE THE SAME AS SUBMATRIX A.

4-34

SUEBOUTINE MMFS3CA,NRfi,NCft,B,IB,C,1C,NEOWfl,WORK) PURPOSE:

MMFSS COMPUTES THE PRODUCT OF A SUBMATS IX TIMES H SYMMETRIC MATRIX TIMES THE TRANSPOSE OF THE SUBilftTRIX. THE RESULT IS A SYMMETRIC MATRIX. "METHOD; MULTIPLY THE SUBMATRIX IN FULL STORAGE TIMES THE SUBMATRIX iN SYMMETRIC STORAGE. COMPUTING THE LOCATION OF EACH ELEMENT IN THE MULTIPLICAND. THE RESULT IS THEN MULTIPLIED TIMES THE TRANSPOSE OF THE SUBMATRIX IN FULL STORAGE AND STORED SYMMETRICALLY IN THE OUTPUT MATRIX. THE ENTIRE PROCESS IS DOME ONE ROW AT A TIME. ARGUMENT LIST: ARGUMENT TYPE A R*8

HE A NCA B

I/O I

1*2 1*2 R*S 1*2

R*b

1C

NROWA WORK

DESCRIPTION THE " 1 , 1 " ELEMENT OF THE SUBMfiTPIX WHICH IS USED AS THE MULTIPLIER IN THE FIRST MULTIPLICATION AND WHOSE TRANSPOSE IS THE MULTIPLICAND IN THE SECOND MULTIPLICATION. NUMBER OF ROWS IN SUBMATRIX A. NUMBER OF COLUMNS IN SUBMATRIX H. T H E ' " 1 . 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SYMMETRIC SUBMflTEIX USED IN THE MULTIPLICATION. THE ROW/COLUMN IN SYMMETRIC MATRIX B CONTAINING THE " 1 , 1 " ELEMENT OF THE SYMMETRIC SUBMATRIX USED IN THE MULTIPLICATION. THE " 1 , 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SUBMATRIX WHERE THE PRODUCT IS STORED. THE ROW/COLUMN IN MATRIX C CONTAINING THE " 1 , 1 " ELEMENT OF THE SUBMPiTRIX WHERE THE PRODUCT IS STORED. ' NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATEIX A. A l-'ECTOR OF, AT LEAST, DIMENSION HRA WHICH IS USED FOR TEMPORARY STORAGE.

CALLING SUBROUTINES: PREDCT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: /SCETCH/ IS USED AS A WORK SPACE. EXTERNAL DATA SETS USED: NONE PROGRAMMER: R. J. FLEMING

4-35

SUBKOUTINE MMSFF (A, IA, Jfi, NRA, NCA, B, NRB,C, NROWB, NROWO PURPOSE: MMSFF COMPUTES THE PRODUCT OF fi SYMMETRIC SUBMATRIX TIMES THE TRANSPOSE OF A sUBMATRIX IN FULL STORAGE. THE PRODUCT IS STORED IN FULL STORAGE MODE. METHOD: COMPUTE THE LOCATION OF EACH ELEMENT OF THE SUBMATRIX IN SYMMETRIC STORAGE, RS IT IS NEEDED, WHILE MULTIPLYING THE SYMMETRIC SUBMATRIX TIMES THE TRANSPOSE OF THE SUBMATRIX IN FULL STORAGE. STORE THE RESULT IN THE OUTPUT MATRIX IN FULL STORAGE MODE. ARGUMENT LIST: ARGUMENT TYPE A R*8

I/O I

IA

I*cl

I

JA

1*2

T i

NRA

1*2

I

NCA

1*2

I

B

R*8

J

NRB C

1*2 R*8

I 0

NROWB

1*2

I

NROWC

1*2

I

DESCRIPTION THE " 1 , 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SUEMATRIX TO BE USED AS THE MULTIPLIER THE ROW IN MATRIX A CONTAINING THE " 1 , 1 " ELEMENT OF THE SUBMATRIX THE COLUMN IN MATRIX A CONTAINING THE " 1 , 1 " ELEMENT OF THE SUEMATRIX NUMBER OF ROWS IN THE SUBMATRIX IN MATRIX A NUMBER OF COLUMNS IN THE SUBMATRIX IN MATRIX A THE " 1 , ! " ELEMENT OF THE SUBMATRIX WHOSE TRANSPOSE IS USED ftS_THE MULTIFLICAND NUMBER OF KOWS IN bUhiMA iR IX tl THE " 1 , 1 " ELEMENT OF THE SilEMATRIX IN WHICH THE PRODUCT WILL BE STORED NUMBER OF ROWS IN THE -MATRIX CONTAINING SUBMflTRIX B NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATRIX C

CALLING SUBROUTINES: DVNEDT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: XSCRTCHX IS USED AS A WORK SPACE. EXTERNAL DATA SETS USED: NONE PROGRAMMER: R. J. FLEMING RESTRICTIONS: SUBMATRICIES B AND C CANNOT BE THE SAME.

4-36

SUBROUTINE MTFS (A, NRA, NCA, C, 1C, JC,NROWA) PURPOSE :• MTFS TRANSFERS THE CONTENTS-OF A SUBMATEIX IN FULL STORAGE INTO A SUBMATRIX OF A MATRIX IN SYMMETRIC STORAGE. METHOD: ' . FOE EACH ELEMENT IN THE SUEMATEIX, COMPUTE ITS LOCATION IN THE SYMMETRIC MATRIX AND TRANSFER IT TO THAT LOCATION. ARGUMENT LIST: AEGUMEN" TYPE A

I/O I

NEA NCA r

I I 0

1C

1

JC

I

NROWH

I

DESCRIPTION THE " 1 , 1 " ELEMENT OF THE SUBMhiTEIX NHOSE CONTENTS ARE TO BE TRANSFERRED NUMBER OF ROWS IN SUBMATRIX A NUMBER OF COLUMNS IN SUEMATRIX A THE " 1 , 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SUBMftTRIX WHERE THE CONTENTS OF SUBMATRIX A WILL BE PLACED THE ROW IN MATRIX C CONTAINING THt " 1 , 1 " ELEMENT OF THE OUTPUT SUBMATRIX THE COLUMN IN MATRIX C CONTAINS THE " 1 , 1 " ELEMENT OF THE OUTPUT SUBMATRIX NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATRIX A

CALLING SUBROUTINES: PEEDCT SUBROUTINES CALLED: NONE COMMON BLOCK FARMATEES'USED: /SCRTCHX IS' USED AS A WORK SPACE. EXTERNAL DATA SETS USED: NONE PROGRAMMER: E. J. FLEMING

4-37

SUBROUTINE MT3FCA, IA, Jfi, NEA, NCA, C, NEOWO PURPOSE: riTFS TRANSFERS THE CONTENTS OF TO ONE IN FULL STORAGE MODE.

SUBMATEIX IN SYMMETRIC STORAGE

METHOD: IF THE SUBMATEIX TO BE TRANSFERRED IS ABOi-'E THE DIAGONAL, TRANSFER IT DIRECTLY COLUMN BY COLUMN. IF THE SUBMATEIX TO BE TRANSFERRED BOUNDS THE DIAGONAL, TRANSFER THE FART P.BCH--'E THE DIAGONAL DIRECTLY AND THEN TRANSFER THE FRET BELOW THE DIAGONAL BY TRANSPOSING IT. IF THE SUBMATEIX TO BE TEANSFEEED IS BELOW THE DIAGONAL, TRANSPOSE THE SUBMATEIX AND TRANSFER IT TO THE OUTPUT MATRIX. ARGUMENT LIST: ARGUMENT TYPE A

I/O I

IA

I *2

I

JA

1*2

I

NEA

1*2

I

NCA

1*2

I

C

R*8

0

NEOWC

1*2

I

DESCRIPTION THE " 1 , ! " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SUBMHTEIX TO BE TRANSFERRED. THE ROW IN MATRIX A CONTAINING THE M , l " ELEMENT OF THE SUBMATEIX TO BE TKANSFhKKhi.).

THE COLUMN IN MATRIX A CONTAINING THE "1, 1" ELEMENT OF THE 5UBMATEIX TO BE TRANSFERRED. NUMBER OF ROWS IN THE 5UBMATSIX TO BE TRANSFERRED. NUMBER OF COLUMNS IN THE SUBMATEIX TO BE TRANSFERRED. THE " 1 , 1 " ELEMENT OF THE MATRIX TO WHICH THE CONTENTS OF THE SUBMATEIX IN MATRIX A WILL BE TRANSFERRED. NUMBER OF ROWS IN THE MATRIX CONTAINING SUBMATEIX C.

CALLING SUBROUTINES: FEEDCT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: XSCETCH,-' IS USED AS A WORK SPACE, EXTERNAL DATA SETS USED: NONE PROGRAMMES: E. J. FLEMING

4-38

SUBROUTINE MTSSCft, IA,NRA,C, 1C) PURPOSE: MTSS TRANSFERS THE CONTENTS OF ft SUBMHTRIX !N SYMMETRIC STORAGE MODE TO ANOTHER SUEMflTRIX IN SYMMETRIC STuj.HGE MODE. METHOD: BEGINNING WITH THE ELEMENTS SPECIFIED IN THE ARGUMr'iT LIST. TRANSFER THE CONTENTS OF THE INPUT SUBMATRIX IN SYMMETRIC STORAGE INTO THE OUTPUT SUBMATRIX IN SYMMETRIC STORAGE. ARGUMENT LIST: ARGUMENT TYPE A R*8

I/O I

Ift

1*2

I

NRA C

1*2 R*8

I 0

1C

1*2

I

DESCRIPTION THE " 1 , 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE SUBMftTEIX TO BE TRANSFERRED THE ROW/COLUMN IN MATRIX A CONTAINING THE " 1 , 1 " ELEMENT OF THE SUBMATRIX NUMBER OF ROWS/COLUMNS TO BE TRANSFERRED THE " 1 , 1 " ELEMENT OF THE SYMMETRIC MATRIX CONTAINING THE 3UBMATRIX WHERE THE ELEMENTS WILL BE PLACED THE ROW/COLUMN IN MATRIX C CONTAINING THE " 1 , 1 " ELEMENT OF THE OUTPUT SUBMftTRIX

CALLING SUBROUTINES: FREDCT SUBROUTINES CALLED: NONE COMMON BLOCK PAYMASTERS USED: /SCUTCH/ IS USED AS ft WORK Sl-'ACt;, EXTEENftL DflTfl bETS USED: HONE PROGRAMMER: R. J. FLEMING

4-39

''

SUBROUTINE OABRPTCITER) PURPOSE: OABRFT GENERATES THE ORE IT, - ATTITUDE, AND BIAS UPDATE REPORTS. METHOD: 1. IF THE ORBIT COl-'AR IANCE MATRIX IS ZERO, GO TO STEP 3. OTHERWISE, WRITE THE TITLE FOR THE ORBITAL STATE UPDATE REPORT, 2. FOR EACH DATA POINT, READ THE ORBITAL STATE UPDATE FSOM-THE TEMPORARY ELEMENTS FILE, AND WRITE IT ON THE NEXT LINE OF THE REPORT, PAGING WHERE NECESSARY. 3. IF THERE ARE NO MORE SOLL-'E-FOR PARAMETERS, GO TO STEP 5. OTHERWISE, SET HP THE TITLES FOR THE ATTITUDE AND BIAS UPDATE REPORTS. SIX SOLl-T-FOR PARAMETERS WILL BE PRINTED ON A PAGE, 4. FOR EACH REPORT UNTIL ALL SOLL'E-FOR PARAMETERS HAl'E BEEN PRINTED: WRITE THE TITLE, READ THE UPDATES FROM THE ELEMENTS FILE. CONCERT THE UPDATES TO DEGREES, AND WRITE THEM ON THE REPORT, PAGING WHEN NECESSARY. 5. RETURN. ARGUMENT LIST: ARGUMENT TYPE ITER 1*2

I/O I

DESCRIPTION ITERATION NUMBER

CALLING SUBROUTINES: EEAUT SUBROUTINES CALLED: NONE COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O /lAL-'CON/ iHt-'ELM I /LUNCOM/ LIJNOUT - I

/ESTCOM/

/ESTFRM/

PHAT NSOLI/E NPBIAS

EXTERNAL DATA SETS USED: NAME LI IN REPOPTS.DAT 13 ELEMENTS (TEMP) 14 PROGRAMMER:

I I I

PARAMETER I/O LUNELM

I

NATT

I

PARAMETER I/O

NPBIA

I/O OPERATIONS PERFORMED WRITE READ

WALIGQRA

4-40

SUBROUTINE OBSLMK PURPOSE: OBSLMK COMPUTES LANDMARK OBSERVATIONS WHEN GIVEN A SPACECRAFT ORBIT AND ATTITUDE AND LANDMARK GEOGRAPHIC COORDINATES. METHOD: 1. COMPUTE THE MODIFIED JULIAN DATE OF THE OBSERVATION TIME, AND CONVERT IT TO SECONDS SINCE THE REFERENCE TIME. 2. CONVERT THE LATITUDE AND LONGTUDE OF THE LANDMARK POSITION INTO EARTH CENTERED FIXED (ECF) COORDINATES (X,Y,Z). 3. CALL ORBATT TO PROPAGATE THE ORBIT AND ATTITUDE TO THE OBSERVATION TIME. 4. ROTATE THE LANDMARK FROM ECF COORDINATES TO THE INEETIAL EARTH CENTERED FRAME. 5. COMPUTE THE LIHE-OF-SIGHT VECTOR. 6. CALL TODORB AND ATMAT TO COMPUTE THE TRANSFORMATION MATRICES, AND TRANSFORM THE LINE-OF-SIGHT VECTOR TO THE ORBITAL FRAME AND THEN TO THE BODY-FIXED FRAME. 7. COMPUTE THE SCAN AND ELEVATION ANGLES. 8. COMPUTE THE CAMERA BIASES AND ADD THEM TO THE OBSERVATIONS. 9. COMPUTE THE RESIDUALS, AND RETURN. ARGUMENT LIST: NONE CALLING SUBROUTINES: EEAUT SUBROUTINES CALLED: DATJUI

TODORB, XGHA, ORBATT, ATHAT, MMFFF

COMMON BLOCK PARAMETERS USED: COMMON NAME PARAMETER I/O' T DELT 1 /ESTCOM/ /ESTFRM/ FBI AS I /LUNCOM/ LUNLST I VMDOB /OBSCOM/ I DLAT I O OMC /LMKCOM/ TLOS I/O I TPAR I -''!~ BL EPSPDI ' I /O

PARAMETER I /O I DJO HMSOB DLON RANGE FRYMAT BLXDIF DELFBI

T I

I/O

I

I/O I/O

PARAMETER I/O

TOBSC OES

T OREL SOTBXD

I I I I/O I/O

EXTERNAL DATA SETS USED: NONE PROGRAMMER: S. R. WALIGORA REFERENCES: THE MATHEMATICAL MODEL U OBSLMK IS GIVEN IN "THE LANDSAT NAVPAK SYSTEM DESCRIPTION 'AND USER'S GUIDE," SECTION £.6.

4-4.1.

SUBRuUTINE

OBSRPTCITER)

PURPOSE: OBSEPT GENERATES THE OBSERVATION RESIDUALS REPORT. METHOD: 1 , bASED ON THE ITERATION NUMBER, WRITE THE APPROPRIATE TITLE AND REPORT HEADING. FOR EACH DATA POINT, READ THE OBSERVATION KECOED, CONGEST THE OBSERVATIONS TO DEGREES AND THE RESIDUALS TO PIXELS, AND WRITE THE NEXT LINE OF THE REPORT, PAGING IF NECESSARY. AT THE END OF THE REPORT, COMPUTE THE RESIDUAL EMS FOR EACH OBSERVATION TVPE AND PRINT THEM IN PIXEL UNITS. RETURN. ARGUMENT LIST: ARGUMENT TYPE ITER 1*2

CALLING SUBROUTINES:

I/O I

DESCRIPTION ITERATION NUMBER >8, GENERATE END OF ITERATION RESIDUALS REPORT a

a ^2

o

5r^



00

%

£-

'

X

PQ

a

2

-J

Q; Q-

•—

V

o:

.J

ul

f

O

s

fic



3

VI

iu E



^

iu

o; Q

Ul ^«

^

o ^* Uj

o o

Q

^

-^

1 ^

0 Of

Q

3 a

>o %

^^

S

p •M.

eS

••aQ o



LOA SM.

To invoke the Landsat NAVPAK system the user should give the following command: MC;;:;.'> vvUN- 120 '•••! 3 L N D S A T £

($ represents the ESCape Key)

The program will install all of the tasks in the system and then the main menu (given in Figure 6-3.) will be displayed.

2

:;;: x T R A c T o R / EB 7 I M A T o &

;•;; 4

DATA BASE HANAGEHENT LANDSAT NAUPAK T E R M T N A T I O N

Figure 6-3. Landsat NAVPAK Main Menu

6-4

The user may then select the desired subsystem. User instructions for the Data Preprocessor, Extractor/Estimator and Data Base Management subsystems are given in the following subsections. When termination is selected, the program will remove all of the installed tasks and print a termination message. The user is responsible for unloading (on a priviledged terminal) the SM handler (MCR > UNL SM), when the session is over. 6. 3 DATA BASE MANAGEMENT (DBM) USER'S INSTRUCTIONS

The Data Base Management (DBM) subsystem is a utility which allows the user to access and manipulate the binary data sets which comprise the Landsat NAVPAK data base. For each binary file to be accessed, the DBM task requires a sequential ASCII directory file which contains a header record plus one descriptor record for each parameter in a record of the binary file. The directory 1 '= format is given in Appendix B. Before using DBM the user must create a directory file for each binary file he wishes to access. This is done by using the PDP-11/70 EDITOR (Reference 11). The binary file must exist before entering DBM. The DBM task is invoked by selecting menu option 3 of the Landsat NAVPAK main menu (Figure 6-3). Upon initiation DBM will issue the following request: *** DATA BASE MANAGEMENT *** *** UTILITY PROGRAM *** ENTER DIRECTORY NAME (20 CHARACTERS)>

The user should then enter the name of the directory file associated with the binary file that is to be accessed. The name entered may include a device name (e. g., DB1:DSSA. DAT) to specify the location of the file. If no device name is entered, DBO: is assumed. Appendix B also contains a complete description of all flies used by the Landsat NAVPAK system. It is recommended that the reader become familiar with the types of files in the Landsat NAVPAK data base. 6-5

If the user wishes to terminate DBM, he should enter a null line by simply hitting RETURN. A message will then be written to indicate that DBM terminated normally. After the directory name has been entered the program will open the directory and the binary file as specified by the directory. If the file is a video file, the user will be prompted to enter the name of the directory for the associated data file. If any of these files cannot be located or opened a message will be written on the terminal and the user will be prompted for another directory name. After all files have been opened, the header record of the binary file will be displayed in parameter list format. (See Section 6.1.1.6.) The user may edit any unprotected header parameters at this time. When the changes have been completed, the user should enter a null line to continue. The main DBM menu (Figure 6-4) will then be displayed.

1 2 3 A '5 A 7 8 9

DATA EASE MANAGEMENT DISPLAY AND EDIT A FILE LIST RECORDS ON THE LINE PRINTER SET DELETE/RESTORE FLAG COMPRESS THE FILE BY DELETE FLAGS LINK A LINK-LISTED FILE CREATE/MANIPULATE A LINK-LISTED FILE DISPLAY A UIDEG FILE ON ITS LOCATE A RECORD BY A KEYWORD ','ALUE TERMINATE

INPUT COMMAND>

Figure 6-4. Main DBM Menu

Each of the DBM menu options will be discussed as a utility function in the following subsections.

The recommended use of these options in supporting the

other subsystems will be discussed with each respective subsystem.

6-6

6.3.1 Display/Edit a File This option allows the user to display and edit a specified record of the binary file. The program will request the record number of the data record to be displayed. If a null is entered the option will be terminated. Otherwise, the requested data record will be displayed in parameter list format (see Section 6.1.1.2). The user may edit any of the data parameters at this time. When the editing has been completed, the user should enter a null line. The user will then be prompted for the number of the next record to be displayed. This process will continue until the user enters a null for the record number, at which time control will be returned to the DBM main menu. 6.3.2 List Records on the Line Printer This option allows the user to get a complete listing of the binary file. Each record is printed as a parameter list using the descriptor and format for each parameter in the associated directory. The header record will be printed on the first page and the data records on the following pages, fitting as many data records to a page as possible. An example of the first two pages of a printer listing is given in Figure 6-5. No user intervention is required for this option. 6.3.3 Set the Delete/Restore Flag This option allows the user to mark records for deletion from a link-listed or direct access file, or to restore records which may have been previously marked for deletion. This is done by changing the value of the "DELETEFLAG" keyword. (In order to use this option the file must contain this keyword.) A record is marked for deletion by setting the "DELETEFLAG" to 1. It is important to note that this option only marks records for deletion, it does not delete them. The user must exercise DBM option 4 to actually delete the marked records. The user may also restore records which were previously marked for deletion (but were not deleted yet) by setting the DELETEFLAG to zero.

6-7

DB8.-SSA.DAT HEADER RECORD: 201 1 2 2 110 111

MAXREC SORT FLAG SORT TYPE EARLIEST REC LATEST EEC LAST EEC RECORD NUMBER I ICHIP CHIPNAME CHPPNT HEADPNT SSAPNT IPASS I SCENE I BAND YEAR-MONTH DAY-HOUR MIN SECOND LAT RLON RLINE KP1X RECORD ORDER LAST RECORD NEXT RECORD QA DELETEFLAG CHP I/ID FILE SSA I/ID FILE

SIDNEY NY 22 2 13 16 31 3 "704 1514 49 33. 4880000000 42.2963900008. -75. 4414100000 223. 0000000800 2169. 0000000000 1..00

0 3 0

LCI/. DAT SSI--1. DAT

RECORD NUMBER ' ICHIP CHIPNAME CHPPNT HEADPNT SSAPNT IPASS I SCENE I BAND YEAR-MONTH DAY-HOUR MIN SECOND LAT RLON RLINE RPIX RECORD ORDER LAST RECORD NEXT RECORD QA DELETEFLAG CHP I/ID FILE SSA VID FILE

1 GREENE NY 20 2 113 16 3 1 7734 1514 49 39.4880000000 42.2793800000 -75. 8040308000 325. 00000000W0 1657. 0000000000 2.00 2 4 0

9 LCI/. DAT SSI/. DAT -

Figure 6-5. Sample List of Records 6-8

For direct access (not link-listed) files the user is prompted to enter the record number of the record which is to be deleted or restored. If the file is linklisted the user will be prompted for the sequence number of the desired record. Instructions for setting the DELETEFLAG will also be displayed to aid the user. An example of the prompt and instructions are given below.

The record will then be displayed on the scope in parameter list format (see Section 6.1.1.2). The user should then locate the DELETEFLAG in the param"eter list and change its value,"if desired."After the flag has been set,""the"user" should enter a null. The program will then request the record number (sequence number) of the next record desired. This process will continue until the user enters a null for the record number (sequence number). At that time control will be returned to the DBM main menu. 6.3.4 Compress a File This option allows the user to compress a direct access or link-listed file by deleting all records which have been previously marked for deletion (Section 6.3.3). When the option is selected the program makes a copy of the binary file called 'WORKING'. This is a safeguard in case of system problems during the compress. If for any reason the program would be terminated ab„ ruptiy.before.completing thei cpmpress, the_ copy of tiie old fUe would be saved. Otherwise it is deleted following the compress. The compress works in the following manner. Each record is copied from the "WORKING" file back to the original binary file only if the DELETEFLAG in that record is set to zero. The header record is then updated to reflect the .number.of records m the compressed file. If the file is link-listed, the file is 6-9

relinked as described in Section 6. 3. 5. No user intervention is required to use this option. 6.3.5 Relink a Link-Listed File This option allows the user to sort and link a link-listed file. The file is sorted according to the user sort flag in the header record of the file as follows. If USERSORT = 0 , sort by RECORD ORDER flag; If USERSORT = 1 , sort by time; If USERSORT = 2 , sort by pass, scene, and line numbers. After sorting the appropriate variables and their associated record numbers, the records are relinked by setting the RECORD ORDER, LAST RECORD and NEXT RECORD parameters in each record. When the file has been completely relinked the header record is updated and control is returned to the main DBM menu. No user intervention is required to use this option. 6.3.6 Create/Manipulate a Link-Listed File This option allows the user to display, edit, create and insert, and relocate the records in a link-listed file. This is different from the regular file management since sequence numbers are used for record access instead of record numbers. Upon entering the link-listed file management option, the menu shown in Figure 6-6 is displayed. Each of the menu options will be discussed in the following subsections. 6. 3. 6.1 Display/Edit Records in Link-Listed Order This option allows the user to display and edit the records of a link-listed file in link-listed order. When this option is selected the first record (in link-listed order) is displayed in parameter list format. The user may edit the parameters at this time. When a null is entered to terminate the editing, a message will be displayed instructing the user to enter a RETURN to display the next record or to

6-10

D13

Lluiv-LISTED F H...F. _.]••':ANAGEMif'NT -''Li-iY/EYi'iT RECORDS IN LINK-LISTED ORDER 0

LAY/EDIT A SP-ECIF'IEG RECORD VIE r-Mv'G INSERT RECGRL

i C A T ' E RECORDS IN THE LINKED LIST-J.'T RECORD S'EUUENCE NUMBERS

INPUT COMMAND> Figure 6-6. Link-listed File Management Menu

enter a CNTL"Z" to exit and return to the link-listed file management menu. ., . The program will continue to display the records in link-listed order until the „ user enters a CNTL"Z" to terminate. 6.3.6. 2 Display/Edit a Specified Record This option allows the user to display and edit a user-specified record of a link-, listed file. The program will request the user to enter the sequence number of the record to be displayed. The requested record will then be displayed on the scope in parameter list format (see Section 6.1.1.2). The user may edit the parameters at this time. When all changes have been made, a null should be entered. The user will then be prompted for the sequence number of the next record to be displayed. If the user enters a null for the sequence number, this option will be terminated and control returned to the link-listed file management menu. 6.3. 6. 3 Create and Insert a Record This option allows the user to create a new record and insert it in a link-listed file. When this option is selected the program locates the first empty record in the file and displays it in parameter list format (see Section 6.1.1. 2). The user may then enter the new data into the record by changing the parameters.

6-11

When all of the required parameters have been entered, the user should enter a null. The user will then be prompted to enter the location in the linked list where the new record is to be inserted by entering the sequence number which should precede it. The program will then compute a suitable record order number and set the appropriate link-listed parameters (LAST RECORD and NEXT RECORD). After inserting the record the header record is updated and control is returned to the link-listed file management menu. 6.3.6.4 Relocate Records This option allows the user to move a record from one location in the linked list to another. Firstly, the user is prompted to enter the sequence number of the record to be moved. The user is then prompted to enter the sequence number of the record preceding the location where the record is to be inserted. After relocating the record in the linked list, control is returned to the linklisted file management menu. 6.3.6.5 Reset Record Sequence Numbers This option allows the user to change the sequence number of all of the records in a link-listed file. When this option is selected, the user is prompted to enter the sequence number for the first record and the increment of the sequence. For example, if the first sequence number is set to 1. 0, and the increment is 2. 0, the first record's sequence number would be 1. 0, the second would be 3. 0, the third would be 5. 0, etc. After the program has changed all of the sequence numbers in the file, control is returned to the link-listed file management menu. 2 6.3.7 Display a Video File on the I S This option allows the user to display video data on the Is while simultaneously displaying the associated descriptor data on the user terminal. The user is prompted to enter the data record number of the descriptor data. The video data will then be located from a pointer in the descriptor data. The video data

6-12

will be displayed on the I S and the descriptor data will be displayed on the user terminal in parameter list format. When the user is finished examining the data, a null should be entered. The user will then be prompted to enter the data record number of the next set of data to be displayed. When a null is entered for the record number, this option will be terminated and control will be returned to the DBM main menu. In the case where the video file is a Full Scene Reduce (FSR) file (type 5), the image will be displayed automatically, since there is no descriptor data associted with the video data. 6.3.8 Locate a Record by a Keyword Value This option allows the user to locate the record containing a specified value for •. a keyword. The user is prompted to enter the desired keyword. The program ; will search the directory for the keyword. If it is not located, a message will be written on the user terminal. Otherwise, the user will be prompted to enter the value of the keyword which is to be located. The input format will be indicated by the prompt. When the record containing the specified value for the keyword is found, it will be displayed in parameter list format. When the user is finished examining the data, a null should be entered. If the specified value cannot be located a message will be written on the user terminal. The program will then issue a request for the next keyword to be located. If a null is entered for the keyword, this option will be terminated and the control will be returned to the DBM main menu. 6.4 DATA PREPROCESSING USER'S INSTRUCTIONS The Data Preprocessor plays an important part in the Landsat NAVPAK system. Through data preprocessing the Landsat images are reconstructed and used to create reference chips and super search areas (SSA) which will be used by the Extractor/Estimator to create landmark observations. Wheel-rate data is also filtered by the data preprocessor to obtain the high frequency spacecraft body rates required by the estimator.

6-13

The Data Preprocessor is initiated by selecting option 1 from the Landsat NAVPAK main menu (Figure 6-3). This will cause the Data Preprocessor menu, which is given in Figure 6-7, to be displayed.

Figure 6-7. Landsat Data Preprocessor Menu

Each of the Data Preprocessor menu options will be discussed in the following subsections. The activities involved in data preprocessing will be described in the order which they would normally occur in the overall process. Wherever necessary, references will be made to utility programs and DBM functions. 6.4.1 Full Scene Reconstruction The Full Scene Reconstruction option reconstructs Landsat images from Computer Compatible Tapes (CCTs). There are four CCTs per image. Each CCT contains one-fourth of the image for four spectral bands. Therefore, the appropriate part of each tape must be extracted and stored on the Full Scene Image (FSI) file to create an image for any one spectral band. The image data is also available in the form of two CCTs per tape or four CCTs on one tape. In this format, each CCT strip is stored in a separate file on the tape. The

6-14

user should note that the optimum set is two tapes containing two CCTs each, since there are currently two tape drives on the PDP-11/70. For a complete description of the CCTs, see Reference 12. The following subsections describe the creation of a Landsat NAVAPK full scene image. 6.4.1.1 Full Scene Image (FSI) File Initialization Before the CCTs can be processed a FSI file must be created. The user should use the BUILD utility program, which is described in Appendix C, to create and initialize a FSI file. A separate FSI file must be created for each image which is to be reconstructed (e. g., if two images from different spectral bands are to be processed, two FSI files will be required). 6.4.1.2 Reconstructing Images from CCTs To begin full scene reconstruction the user should select option one from the Data Preprocessor menu (Figure 6-7). The following message will then be displayed on the user terminal.

The user should be aware that only CCTs in the format used since March 1977 can be processed by Landsat NAVPAK. Also, full scene reconstruction has the capability to process fron one to four spectral bands (one spectral band per image) simultaneously. Therefore the user can save time by creating all required FSIs from one pass through the CCTs. Next, the user is prompted to enter the spectral band and the corresponding FSI file name for the image. This is repeated up to four times until the user enters ' a null to indicate that he has entered all spectral bands that are to be processed. The user will then be prompted to enter a scene title. The title can be up to 80 characters long and it will be written on each FSI file being created. The program

6-15

will then request the user to mount the CCTs and enter the tape drive and corresponding CCT strip number for each tape as follows.

As indicated by the prompt, a negative entry will terminate this option and return control to the Data Preprocessor menu. Otherwise, the program will then process the CCTs. Since this process is time consuming, a message will be written to the scope after each group of 100 image lines are processed.

There

are 2340 lines in each image. If a read error occurs on the tape, the program will try five times to read the record. If it does not succeed, a message will be displayed and processing will continue. After the first two CCTs are processed, a reduce of the FSI will be displayed on the I2 S (continaing only the image strips processed). The reduced image will then be stored at the end of the FSI file. The user will then be prompted to mount the tapes and enter the tape drive and CCT strip numbers of the next CCTs to be processed. In the case where there are two CCT strips per tape the user can simply input the tape drive and CCT strip numbers of the second file on each tape. The CCTs will then be processed as described previously. If CCT strip 4 is being processed, the SLAT file will be read from the next file on the tape and stored in the FSI header records. A reduced image of the com2 plete FSI will then be displayed on the I S and copied to the end of the FSI file. A Full Scene Reduce (FSR) file of this image will also be created. At this point, a termination message will be written on the scope and control will be returned to the Data Preprocessor menu. 6.4.1.3 Back-Up and Restore Images with Magnetic Tape Due to the amount of disk space required to store one FSI it is impossible to store all of the images in a pass on the disk simultaneously. Therefore, FSIs

6-16

must be stored on magnetic tape and restored to the disk one at a time for data extraction. After reconstructing FSIs for a particular scene, the user should use the ERBACK utility program, which is described in Appendix C, to transfer the FSI file to tape. Each image should be stored in a separate file on the tape with two images fitting on one tape at 1600 BPI. When the user wishes to use the FSI which has previously been stored on tape, he should use the ERREST utility program, which is also described in Appendix C, to restore the FSI file to the disk. 6.4.2 Landmark Chip Creation Landmark chip creation is the process through which the user can create a Landmark Chip Library. This library will contain reference chips which will be used to extract landmarks from subsequent Landsat images of the same scenes. Landmark chip creation is a time consuming process, however, it should only need to be done once for each scene. The entire chip creation process, including the initialization of the data base, chip initialization using DBM, and the image processing involved in chip extraction, is described in the following subsections. 6.4.2.1 Initialization of the Chip Data Base The chip data base, consisting of the Landmark Chip Library (LCL) data file and the Landmark Chip Video (LCV) file, must be created and initialized before any chips can be created. This initialization is only required for a new data base. To initialize the chip data base the user should use the INCHIP utility program which is described in Appendix C. 6.4. 2. 2 Enter Chips Into the Library Using DBM In order for the chip extractor .(image processing) to work properly, a data record describing each landmark must exist in the Landmark Chip Library file. This chip descriptor data should be entered into the LCL file by using the

6-17

DISPLAY/EDIT capability in DBM (see Section 6.3,1). The parameters in the data record that should be set are the chip number, chip name, latitude, and longitude. See Appendix B for a description of the LCL and LCV data records. 6.4.2.3 Image Processing for Chip Extraction To invoke the image processing part of Landmark Chip Creation the user should select option 4 from the Data Preprocessor.menu..(Figure 6-7).... The Landmark,. Chip Creation menu, given in Figure 6-8, will then be displayed on the user terminal.

.

Figure 6-8.

Landmark Chip Creation Menu

A reduced image must be displayed before any of the other options can be chosen. To display the reduced image the user should select option 1 of the Landmark Chip Creation menu. The user will then be prompted to enter the name of the FSI file which contains the image to be displayed. The reduced image will then be displayed on the i S. Next, the user may request that the program locate a specific latitude and longitude within the image. This is option 5 in the Landmark Chip Creation menu. The user will be prompted to enter the latitude and longitude of the area to be

6-18

located. The program will find the approximate location of the input geographic 2 coordinates, using the tickmarks in the annotation data. The cursor (on the I S) will automatically be placed over the requested location on the reduced image. If the geographic coordinates cannot be located in the image, an appropriate message will then be displayed on the user terminal. Next, the user should select option 2 to display a selected portion of the image at full resolution. The user will be prompted to place the cursor over the desired area of the reduced image and hit RETURN when ready. If the cursor has previously been placed automatically, the user should simply hit RETURN. The requested portion of the image will then be displayed at full resolution. If desired, the user can request that a particular area of the image be zoomed or enlarged by selecting option 3 of the Landmark Chip Creation menu. The user will be prompted to enter the zoom ratio. An integer n is requested, where l£n£64 and n implies a zoom ratio of ml.

After selecting the zoom ratio, the

user will be prompted to place the cursor on the center of the area within the full resolution image which is to be zoomed and to hit RETURN when ready to continue. 2 The image displayed on the I S will then be enlarged by the specified zoom ratio. When either a full resolution or zoomed image is displayed, the user can create a chip by selecting option 4 from the menu. The user will be prompted for the chip number of the chip which is to be extracted. The chip number should have been entered into the data file previously (see Section 6. 4. 2. 2). The user may modify the data parameters at this time, if necessary. When the user wishes to continue, a null should be entered. The user will next be prompted to place the cursor on the desired landmark and to hit RETURN when ready to continue. A 16 x 16 pixel area around the cursor will then be extracted and displayed below the original image for inspection. The user will then be prompted as follows:

.6-19,

If the user accepts the chip, it will be stored in the LCV file and the video pointer, line and pixel coordinates, image band, and scene center time will be added to the LCL data record. If the user rejects the chip, no files are updated. If the user elects to reposition the cursor, he will be prompted to place the cursor and the same process as before will commence. After the user has accepted or rejected the chip, he is prompted as to whether he wishes to extract another chip from the image which is currently displayed. If the reply is yes, he will be prompted to enter the chip number of the next chip and the chip extraction process begins again. Otherwise, control is returned to the Landmark Chip Creation menu from which the user may initiate the creation of another chip from a different part of the image or terminate. If termination is selected, control will be returned to the Data Preprocessor menu (Figure 6-7). 6.4.3 Super Search Area (SSA) Extraction Super Search Area (SSA) extraction is the part of the Data Preprocessor where SSAs are extracted from a current Landsat image. Each SSA corresponds to a reference chip which was extracted from an earlier image of the same scene. Later, the SSAs will be correlated with the reference chips to produce the landmark observations. Initialization (first time) of the SSA data base, the modes of operation available for SSA extraction and the image processing required for SSA extraction are described in the following subsections. 6.4.3.1 Initialization of the SSA Data Base The SSA data base consisting of the SSA data file (SSA. DAT) and the SSA video file (SSV.DAT) should be initialized before any super search areas can be

6-20

extracted. In most cases, the user should initialize a new SSA data base for each new pass of data. The user should use the INSSA utility program described in Appendix C to perform this initialization. 6.4.3.2 Image Processing for SSA Extraction There are two basic modes of image processing which can be used for SSA extraction. Either Manual SSA Extraction or Automatic SSA Extraction can be selected from the Data Preprocessor menu (Figure 6-7). In the manual mode the user controls each step of the extraction process for each SSA. In the automatic mode, the chips are automatically displayed and super search areas displayed and extracted. If desired, the user can have the option to accept or reject each SSA in the automatic mode. The user may want to be selective

*'

when extracting SSA's to insure the quality of data base. The different modes

"

of operation will be discussed in detail in the following subsections. 6.4.3.2.1 Manual SSA Extraction In Manual SSA Extraction, the user controls each step of the SSA extraction process through the Manual SSA Extraction menu which is given in Figure 6-9. ^

Figure 6-9. Manual SSA Extraction Menu

6-21

2 To begin, the user must display a reduced image on the I S video device (option 1

of the menu). The user will be prompted to enter the name of the FSI file which is to be used. The reduced image will then be displayed on the IS. Next, by selecting option 2 of the menu, the user can request the chip numbers of the first and last chip in the current scene (scene which has been displayed). The chip data file will be sorted and the earliest and latest chips in the scene will be located. The chip numbers of the first and last chip will then be displayed on the scope. The user should then use option 3 to display a chip. The user will be prompted to enter the chip number of the chip to be displayed. The chip data record will then be displayed on the user terminal in parameter list format (see Section 6.1.1.2). When the user enters a null, the chip image will be displayed on o the I S below the reduced image. Next, the user should use option 4 to coarsely locate the chip within the reduced image. No user intervention is required in this step. The program use the tickmarks in the annotation data and the latitude and longitude in the chip data record to locate the landmark. The cursor is then moved to the landmark location in the reduced image and the picture coordinates are displayed on the scope. If the landmark cannot be located within the image, a message will be written on the user terminal. The user can now control the extraction of the SSA by selecting option 5 from the menu. If coarse chip location was omitted or failed, the user will be prompted to place the cursor over the area to be extracted. Otherwise, the cursor is assumed to be in the correct position. A 100 x 100 pixel area

6-22

around the cursor will then be extracted and displayed beside the chip on the 2 I S. The user will then be prompted as follows:

If the SSA is accepted, the SSA will be stored in the SSA video file and the SSA video pointer, the scene center time, and the line and pixel coordinates will be stored in the associated SSA data record. If the user requests to reposition the cursor, he will be prompted to do so and hit RETURN when ready. The new SSA will then be displayed and the user will be prompted for the desired action as before. After the SSA has either been accepted or rejected, control will be re-

,;

turned to the menu. At this point the user could start the extraction of another •& SSA by displaying the next chip, or terminate processing. 6.4.3.2.2 Automatic,SSA Extraction In the Automatic SSA Extraction mode, there are two levels of automation which may be used. The user selects the type of Automatic SSA Extraction to be used "" from the menu given in Figure 6-10.

Figure 6-10. Automatic SSA Extraction Menu

6-23

In either case, the user will be prompted to enter the name of the FSI file containing the scene to be displayed. The reduced image will be displayed and the first and last chips in the image will be located. The program will then extract a SSA for each reference chip from the same scene and spectral band as the displayed image by the following process. The first chip will be displayed on o the I S and the cursor will be placed over the landmark in the reduced image by coarse chip location. A 100 x 100 pixel area around the cursor is then extracted and displayed on the TS. If the fully automatic mode is being used, the SSA is stored directly into the SSA data base. If the operator supervised mode is being used, the user will be prompted as follows:

If the SSA is accepted, the SSA will be stored in the SSA data base. If the SSA is rejected, the SSA will not be entered in the data base. If the user elected to reposition the cursor, he will be prompted to do so and hit RETURN when ready. The new SSA will then be displayed and the user will be prompted for the desired action as before. After the chip has been accepted or rejected, the program will continue by displaying the next chip in the scene to start the extraction process for the next SSA. When there are no more chips in the scene, Automatic SSA Extraction will be terminated. 6.4.4 Wheel Rate Data Preprocessing The wheel rate data preprocessor prepares the momentum wheel rate data for use in attitude modeling. Momentum wheel rates are given for each of the attitude angles, roll, pitch and yaw. The entire process consists of three steps. Firstly, the input wheel rate tape is reformatted for use on the PDP-11/70. Secondly, the new wheel rate tape is processed using the Maximum Entropy Method (MEM) to obtain the low frequency time constant. Finally, the wheel

6-24

rates are filtered to remove the low frequency, and the remaining high frequency wheel rates are converted to spacecraft body rates which are written on a file for later use in the Extractor/Estimator. These steps are described in more detail in the following subsections. 6.4.4.1 Preparation of Raw Wheel Rate Data for NAVPAK Due to the format of the DLP/STAK tape, which contains the raw momentum wheel rate data, the tape cannot be read on the POP 11/70. Therefore the tape must be preprocessed on the IBM S/360 and written to a new tape in an acceptable format. This process is done by using the MWT utility program described in Appendix C. 6.4.4.2 Determination of Low Frequency Using MEM Before filtering the wheel rate data, it is necessary to determine the low frequency in the data. This process is done by using the WMEM Utility program which uses the Maximum Entropy Method (MEM) . The WMEM utility is described in Appendix C.

fi

6.4.4.3 Wheel Rate Data Filtering 2

The filtering of the wheel rate data is done by the Landsat NAVPAK Data Preprocessor. To initiate the Wheel Rate Data Filter, the user should select option 5 of the Landsat Data Preprocessor Menu (Figure 6-7). The user will be prompted immediately to mount the wheel rate data tape (created by MWT) program on IBM S/360) on tape drive MMO: and hit RETURN when ready. The

See Reference 6 for a complete discussion of MEM. 2

The term filter is used here in the sense of spectral analysis as opposed to estimation via a Kalman filter. The low frequency portion of the wheel rate data is filtered or removed from the data to allow a high frequency portion to remain.

6-25

satellite from which the data was taken and the start and end time of the data tape will be displayed on the user terminal. The user will then be prompted to enter the start time of the requested data span to be processed. If nothing is entered the start time of the tape is assumed. The user is then prompted to enter the end time of the requested data span. The default will be the end time of the tape. The user will then be prompted to enter the low frequency (see Section 6. 4.4. 2). The user must enter a low frequency (time constant); there is no default. At this point the user must enter a command to continue with the .wheel rate filtering or terminate. This allows the user to stop the processing before it starts in case of an error in user input. An example of the prompts and user responses for wheel rate filter input is given in Figure 6-11. After the input has been received the wheel rate data filter will fit a truncated Fourier series to the wheel rate data. The Fourier series is then subtracted from the input wheel rates, and the remaining high frequency wheel rates are converted to spacecraft body rates. The body rates for roll, pitch and yaw are then written to the Body Rates File for later use in the attitude modeling in the Extractor/Estimator. 6. 5 EXTRACTOR/ESTIMATOR USER'S INSTRUCTIONS

The Extractor/Estimator generates landmark observations and estimates the orbit and attitude of the spacecraft. The landmark observations are created by the landmark extraction process through which reference chips are correlated with super search areas (SSAs) to obtain the exact location of the landmarks in the image. The picture coordinates of the landmarks are then used to generate landmark observations.

These observations are used by an extended Kalman

filter to estimate the orbit and attitude of the spacecraft. The Extractor/Estimator (EEAUT task) is invoked by selecting menu option 2 of the Landsat NAVPAK main menu (Figure 6-3). After selecting option 2, the Extractor/Estimator menu, which is given in Figure 6-12, will be displayed.

6-26

WHEEL RATE DATA PREPROCESSOR MOUNT THE WHEEL RATE DATA TAPE ON MHO I -AND HIT -RETURN WHEN READY >

IN P U T 8 T A R T "f-1 ME OF RE Q U E 8 IE D D A T A 8 P A N . - ("'{• Y n ri ? D D!-! H •> MIN v - S E C ) .'•:- / / 0 4 !' 1. b !i. 4 y 1-:! v j v O

I-NPUT END.-TIME OF REQUESTED

DATA SPAN . ( Y Y M M ? . . DDHH? - MIN 7. SE.C)

'.>"/ 7 0 4 :' :!. 516 '.' 15 v 0 Ei'4Ti::'-R THE!- LOW FREQUENCY ( HER-I Z ) ''••• C.F-1.« ».»000162 E N T E R - C O M M A N D J• . - • - . --'-0:::: C 0 N T !C N U E P R 0 C E S 31N G 1~~ TERMINATE WHEEL RATE D A T A -PREPROCESSING

Figure 6-11.

Wheel Rate Data Preprocessor User Prompts and Responses

6-27

- •-

Figure 6-12. Extractor/Estimator Menu

The three options available in the Extractor/Estimator will be described in detail in the following subsections. The flow of each of the Extractor/Estimator options is shown in Figure 6-13. 6.5.1 Initialization of Parameters Both landmark extraction and estimation require the initialization of user input parameters. Parameter initialization can be selected directly from the Extractor/Estimator menu (option 1). However, the Extraction Only and Extraction/Estimation options will perform parameter initialization if it was not previously selected by the user. To aid the user in initializing parameters, there is an Estimation Parameters File (see Appendix B) where each record contains a complete set of estimation parameters. During initialization the input parameters may be obtained from or stored into an estimation parameters data record. ^ subset of the parameters set can also be recovered from the Special Image Annotation Tape (SLAT) data. The input and output sources for the parameters can be selected using the parameter list given in Figure 6-14.

6-28

> 3. enMCTi 0*1 OflL y'

I

3 exiRiKTioii /efriti*nui f ret

i

-\

i

y i ii ! \

(.

/ f/MfAK.

\ A AecfffiT/tttecT eprtotJ \3 FULL?/4uTat*Ari

'ii O0 •— iT-i o X o

?"~ i :—•

iv

6 O ih

_j

o

•^"5

C'-i

0

«

,•7-

c

c>

0)

/._

§



i— •

0

lu

c r-:

O

C-i CD p.

*~; r-^

o

| '£



*

— i-

>v O '' i O •=?•

.'r*

"^

?r;

.^- ' !^

O -^ O r—: t ^_

0 >~ O :— : o

5 o a. o 2 -•• •>-•'

T o fb o

01 h

CO

i1 ; i"~*i

rt

» T-:

«

o

j^ •,

5 "a OT

X-.

^a

o o LU N o o O U ! oo 2: n o i_r r-i j£.

a o o Q >^j

K co §

£ H 01

H 0 Cu

w a: 01

§

g (

H

UJ

ffj ^ O *7> G in

Tf ^T O G G G O O GT G "3 Q "3 O CO '23 — * O G G G G O G © '3 G G G

CM3 QD in «T> f J

g

CD

to

_,

a: C

f-

81

* * *

t^

tn r\i

OS

*T

a. a

— x 05 ?--

^ o

G '7) 00 vi> OJ G

o5 V ro — co

UJ

UJ

^ 3 G '3 O in iji '3 O G Q © O O '3 O G C? '3 O >5 Q — — G G O O O '3 O '3 O O O Q o o o •^ t\) >f) G CD G G G O CD O '3 O G O CD O o J IS- tO [*- tv- tv. (£> — — I I 1 I I I tO — I I I I I ' . I ,

'

g

TJ '•" CO

s>M/>ujrocvioo^r

OS

(VI

O ^

1O &. uj at

TT—

I

t£- Q — 00

T co •

C5 o

.'

~

«

-H

.....

Ja

^ nj

H

— Q U4

a:u

O -J 01 U4

_?

CQ N

Hi •i> — '33 — CO CO (VI J) (M (VI CO (VI t -- • C- f> T

ui cu r- oj 03 ^ —' I.M ^ CD —• IT> o- ui —» 03 G> o

.

'

S Q (VI T C-- in (C T CO t^ 133 O T CO (VI — Ol (VI

E— 133 >T. ijs — M '^ I.T) ^r in co — r-.j ^ — cvi oj i\i (vi oj to c-i to M to ^r T T in in tn m o o

ZI (7> r7< '7> ij.' iT.- •". i.T- -T> *T) -T» -T.- '*> >T) -J"j O O Q '

'

.

pu ir< u") in m m u~> LT« in tn in iri u~j u~< in in UTI u~> O O O O 'D i3 O O O O Q O

O f- 1--_ £^- c^_ i--- cs- f-_ r-. [••- &. r-_ c^- r--- 1-- 1-- [•- 1-c- o-- f'- ^ ^ ^ i- c--- f-- r- r- C*- c--- c-- c-- ?- r-

6-45

T5

~

K W "

z^. .

«W

O

ceo;

o

.X



C-- C^- C-- C- i3D (33 f- P- CO ^ f>- f - 03 ^- !3 C- CO CO OT — . _ — . - . —.—.^.^- — ««_ — —.—.-,« U4UJ

— O3

e

a

to—



III

rt 7f

Q



(.0 ui -r;& • J:i C1-- AJ TT CD — ^T co t\i c^- "^r to s T ij~i Q r-T ^ ct; in IIT T 03 — o co .N. cj (vi TJ r>j 03 T ^r on — x oj cr* \n — ">J ^r ^ "- CO OJ Q (Ji h~j — *T]" '3 i3 "3 '3 © O I ' l l 1

— t J J O

T T

"3i3'3 1 t

,—,

g

SP scr.

P4 (I

—• CD C-- O — O

toco co

U4.-J ^- UJ'

f J> O 1 GO ID or.

——o



6-47

OJ OJ Q t - T0 m ^r '">

I

U

II

p

OS U4

H X E> CO — f- — T OJ — O O — CO O OJ ITJ nj

f-

(I

05

CO

at

in ^ — to co oj o — tn — co ~ toTO— in in u~ 3 — 13 13 CO O T

"M U? 'DC C^- CO 00 00 — iJl Ul « O fO CO OJ -:

ro ro ^ — >- in oo cu c-j rjj f") co — UT o —• co j 13 CM in in w in in cv- co to r- tn o — o ^ ui - — ro r- M j) in -j^ •— s -i- o:- T ffi o r^i OD co 'icc i « tn T T' £•> "T co Q -~/ i^- ui < j> in -T> ^r to ^r TO ~ o '7> in to —' co



— — UT in — Q OD ro co t^. si o — — u> —

F"

«

— o in t-- '3 T in 01 in oj o ^r 'j? T T in

I— I '7> C^ C^ T UT ^ in U"> CO i7> — —' CO O CO CO f--

> o TT >y uj CO t£> — CO ^T C-- OJ

O

CO 'T ^T C-- OJ f D (Tl ^- '7j — O 'J? OJ —

iO C-'» — CO T U~> tO ^T —

"^ « TO c*- in co OD coTOin 13 to

TJ- T •:.•> 13 C*_ ^- 13 — — 13TO^ O CO '3 O TO

in oj OD OD CD T oj in TT ^ TT UD cv 13 ir> t*- to T co r- co T13 TO — co to in •£• in co in c-- — o C-- — to OD to co T o j T r- — t-- T o rj t-"*r co in to tn in r- in c-- o oj — oj OD — o TT X to r- in to co o to to oj TJ-TO,-. to oj T 3 f-_

— I —' J

co to oj o '-i ^r co T tv — fi in O — OJ CO T Ul '£• f

S

6-48

2 S,

The Residuals Report is generated at the end of the first iteration (see Figure 6-22a). This report contains the observation residuals computed at each observation time during estimation. A Residuals Report Based on the Final State (see Figure 6-22b) is also output at the end of the run. This report contains the observation residuals computed using the final orbit, attitude and biases after estimation has been completed. In these reports the observed scan and elevation angle and latitude and longitude are output in degrees. The observation residuals (O-C) are output in pixels. At rhe end of the residuals reports, the root mean square (RMS) of the observation residuals, for each observation type, are output in pixels. At the end of each iteration, the Solve-for Parameters and Covariance Matrix Report (see Figure 6-23) is output. This report contains the current and a priori values at reference time, the standard deviation and current minus a priori value for each solve-for parameter. The Variance-Covariance Matrix (upper triangle) and the associated correlation coefficients (lower triangle) are also output for the solve-for parameters. The Orbit, Attitude and Bias Update Report is only generated for the first iteration. This report gives the update history of each solve-for parameter during the iteration. The updates to the parameters are output for each observation and there are six parameters output per page. In the sample given in Figure 6-24, the orbit state updates would be on the first page and the attitude parameter updates would be on the second page.

6-49

APPENDIX A - COMMON BLOCK DESCRIPTIONS

This appendix contains descriptions of all COMMON blocks used in Landsat NAVPAK.

The COMMON blocks are grouped according to subsystem.

Within each subsystem the COMMON blocks are listed alphabetically.

In

cases where the COMMON block is used in more than one subsystem, it is listed under the subsystem where it is used most often.

The descrip-

tions associated with the Data Preprocessor, Extractor/Estimator, and Data Base Management (DBM) subsystems are given in Sections A.I, A. 2, and A. 3, respectively.

A-l

A.I

DATA PREPROCESSOR COMMON BLOCK DESCRIPTIONS

The following COMMON blocks are used in the Data Preprocessor. COMMON BLOCK NAME: /CCLCOM/ PURPOSE: Stores the parameters used in coarse chip location.

This

COMMON block was created for overlay considerations. REFERENCED BY: PREMAN, PREAUT, PRESSA, PREEXT, PRECCL, TCKMRK, PRCCL. COMMON BLOCK PARAMETERS:

Variable Name

Type

Description

Dimension

PCC

1*2 .

LCC

1*2

XMIN(I,J)

R*8

2,4

Minimum tickmark on each side of the image (1,J) = Latitude or longitude associated with minimum tickmark on Jth side (2,J) = Coordinate of minimum tickmark on Jth side Where J = 1 is north side J = 2 is west side J = 3 is east side J = 4 is south side

XMAX(I, J)

R*8

2,4

Maximum tickmark on each side of the image and the associated values of latitude and longitude (index definition is the same as for XMIN)

Total size:

1

Master pixel as computed by the coarse chip locate algorithm Master line as computed by the coarse chip locate algorithm

132 bytes

A-2

COMMON BLOCK NAME: /CHIP/

PURPOSE: Stores the data record from either the chip library or the super search area (SSA) data file. REFERENCED BY: PREDCD, PRESSA, PRECCL, CCHIP, EXTSSA, PRCCL, OBSTIM COMMON BLOCK PARAMETERS: Variable Name

Type

Description

Dimension Chip number

IDCHIP

1*2

CNAME

Byte

VIDPNT

1*2

HDRPNT

1*2

Pointer to header information for SSA

SSVPNT

1*2

Position of corresponding SSA video records in SSV file

IPASS

1*2

Pass number of image from which chip or SSA was extracted

1

Chip name or description

12

fa

Position of corresponding chip video in LCV file

1

, v

ISCENE

1*2

IBAND

1*2

1 1

YYMM

1*2

1

Year and month of scene center time of chip (year* 100 + month)

DDHH

1*2

1

Day and hour of scene center time of chip (day*100 + hour)

MINUTE

1*2

Minutes of scene center time of chip

SECS

R*8

RLAT

R*8

RLON

R*8

RLINE

R*8

1 1 1 1 1

Scene number of data MSS band from which chip or SSA was extracted

Seconds of scene center time of chip Latitude of chip Longitude of chip Line number of extracted chip or SSA

A-3

Variable Name

Description

Type

Dimension

R*8

1

Pixel number of extracted chip or SSA

ORDR

R*4

1

User's sorting variable

LAST

1*2

1

Pointer to the previous record (sorted)

NEXT

1*2

1

Pointer to the next record (sorted)

QA

1*2

1

Quality assurance flag 0 = good 1 = not good

DELETE

1*2

DBM delete flag 0 = do not delete 1 = ignore record and delete at next compress

CHPVID

Byte

Data set name of corresponding chip video file

SSAVID

Byte

Data set name of corresponding SSA video file

RPEX

,

Total size: 100 bytes

A-4

COMMON BLOCK NAME: /DATA/

PURPOSE: Stores the data which is currently being used by the wheel rate data preprocessor. REFERENCED BY: PREWRF, HEADWR, READWR, CURVFT, PREBRF COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

Description

W

R*8

T

R*8

40

Time in seconds of each data point contained in one physical record of data

PRY

R*8

40, 3

Pitch, roll, and yaw associated with the above times

NP

R*8

Orbital frequency (rad. /sec.)

1

Number of points read from the data file

Total size: 1296 bytes

A-5

COMMON BLOCK NAME: /DISCOM/

PURPOSE: Stores parameters which describe the image currently displayed 2 on the I S. REFERENCED BY: PREMAN, PREAUT,PREFSR, PREFFC, PREEXT, PRECCL, PRCHIP, CCHIP, PRFULL, PRZOOM, PRCCL COMMON BLOCK PARAMETERS: Variable Name

Description

Type

Dimension

XMAG

R*4

1

Zoom ratio of image in X direction

YMAG

R*4

1

Zoom ratio of image in Y direction

XZERO

R*4

1

Image pixel displayed in first X location of screen

YZERO

R*4

Image line displayed in first Y location of screen

SCRSTA

1*2

Screen status 0 = nothing displayed 1 = FSR displayed 2 = full resolution 3 = zoomed image

IORGX

1*2

1

Screen location of first image pixel

IORGY

1*2

1

Screen location of first image line

MDISPX

1*2

1

Maximum number of image pixels

MDISPY

1*2

1

Maximum number of image lines

NDISPX

1*2

1

Number of image pixels displayed

NDISPY

1*2

1

Number of image lines displayed

MASK

1*2

1

Image plane displayed

MODE

1*2

1

Mode of SSA extraction 0 = manual 1 = fully automatic 2 = operator supervised

Total size: 34 bytes

A-6

COMMON BLOCK NAME: /FFCCOM/

PURPOSE: Provides a communication link between the preprocessor and DBM routines without disturbing the internal communication of DBM. REFERENCED BY: PREFFC, RELINK COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

Description

SORTV

R*8

500

Sort variable associated with sequence numbers after sorting a linklisted file

Total size: 4000 bytes

A-7

COMMON BLOCK NAME: /FSICOM/ PURPOSE: Stores the Full Scene Image (FSI) file description. REFERENCED BY: PRVFSR, PRVHDR, PRVSIA, PRVCCT, PRVRED, PREMAN, PRERED, PREFSR, PREEXT, PRCHIP, PRFULL, ZCHIP COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

Description

NHREC

1*2

1

Number of header records

NLINES

1*2

1

Number of scan lines in the image

NRPL

1*2

1

Number of records per scan line

MPIX-

1*2

1

Maximum number of pixels per line

NRREC

1*2

1

Number of lines in reduced image

rax

1*2

1

Reduction ratio of image in X direction

IRY

1*2

Reduction ratio of image in Y direction

Total size: 14 bytes

A-8

COMMON BLOCK NAME: /HDRCOM/ PURPOSE: Stores the Full Scene Image header and annotation data. REFERENCED BY: PRVFSR, PRVHDR, PRVCCT, PRVSIA, PRVRED, PREMAN, PREFSR, PREFFC, PRESSA, CORECT, PREEXT, PRECCL, TCKMRK, PRCHIP, CCHIP, PRFULL, ZCHIP, DBMFSR, GETOAP, PREDCD, EXTSSA, EXTOBS, OBSTIM COMMON BLOCK PARAMETERS: Description

Variable Name

Type

Dimension

STITLE

ASCH

80

IBAND

1*2

1

Selected image band number

IPASS

1*2

1

Pass number

ISCENE

1*2

1

Scene number

HEAD

Mixed

40

Image of MSS record I

ANOT

Mixed

624

Image of MSS record 2

SIAT

Mixed

324

Image of SIAT record 7

Total size: 1074 bytes

A-9

Scene title

COMMON BLOCK NAME: /IMGCOM/

PURPOSE: Stores one complete line of Full Scene Image (FSI) video data. REFERENCED BY: PREEXT, ZCHIP, PRFULL COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

BUF

Byte

3500

.

Description Buffer array for 1 line of FSI video data

Total size: 3500 bytes

A-10

COMMON BLOCK NAME: /IOBUF/ PURPOSE: /IOBUF/ is a buffer which holds one physical record from which logical records are processed by the wheel rate data preprocessor. REFERENCED BY: HEADWR, READWR, PREBRF COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

BUF

Byte

80,40

Description Buffer for one physical record from which 40 logical records of wheel rate data can be extracted

Total size: 3200 bytes

A-ll

COMMON BLOCK NAME: /IOCOM/

PURPOSE: /IOCOM/ is a buffer for the input CCT data and output FSI data in task PRVFSR. REFERENCED BY: PRVFSR, PRVCCT, PRVRED COMMON BLOCK PARAMETERS: Type

Dimension

Description

INPUT

Byte

3600, 4

Input array for CCT records (1 from each of 4 CCTs) which corresponds to scan line n

OUTPUT

Byte

3500

Output image scan line produced by deinterleaving the input data

Variable Name

Total size: 17900 bytes

A-12

COMMON BLOCK NAME: /LCLHDR/ PURPOSE: Stores the chip library header information. REFERENCED BY: PREDCD, CCHIP COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

Description

MAX

1*2

1

ISORT

1*2

Sort flag: 0 = not sorted 1 = sorted

IUSORT

1*2

Sort type: 0 = time order 1 = sort by user's sorting 2 = sort by pass, scene, and line

IREC1

1*2

1

Number of first record in sorted order

IREC2

1*2

1

Number of last record in sorted order

IREC3

1*2

1

Last non-empty record in chip library

Total number of records in chip library

Total size: 12 bytes

A-13

.;

COMMON BLOCK NAME: /LCVHDR/

PURPOSE: Stores video chip file header information. REFERENCED BY: PREDCD, CCHIP, ZCHIP, EXTSSA, EXMCOR, EXACOR, EXTEXC COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

Description

MAXREC

1*2

1

Total number of records in LCV file

MP

1*2

1

X size of chip (number of pixels)

NL

1*2

1

Y size of chip (number of lines)

NRECC

1*2

1

Number of records per chip

NFL

1*2

1

First line displayed on the ns

MFP

1*2

1

First pixel displayed on the ITS

NEXT

1*2

1

Next available record in LCV file

Total size: 14 bytes

A-14

COMMON BLOCK NAME: /SSAHDR/ PURPOSE: Stores the super search area (SSA) library header information. REFERENCED BY: PRESSA, EXTEXC, EXTSSA, GETSSA COMMON BLOCK PARAMETERS: Description

Type

Dimension

MAX

1*2

1

Total number of records in SSA library

ISORT

1*2

1

Sort flag: 0 = not sorted 1 = sorted

IUSORT

1*2

1

Sort type: 0 = time order 1 = sort by user's sorting 2 = sort by pass, scene, and line

IREC1

1*2

Number of first record in sorted order

IREC2

1*2

Number of last record in sorted order

IREC3

1*2

Last non-empty record in SSA library

Variable Name

Total size: 12 bytes

A-15

COMMON BLOCK NAME: /SSVHDR/

PURPOSE: Stores video super search area (SSA) header information. REFERENCED BY: PRESSA, PREEXT, EXTEXC, EXTSSA, EXMCOR, EXACOR COMMON BLOCK PARAMETERS:

Description

Variable Name

Type

Dimension

MAXREC

1*2

1

Total number of records in SSV file

MP

1*2

1

X size of SSA (number of pixels)

NL

1*2

1

Y size of SSA (number of lines)

NRECC

1*2*

1

Number of records per SSA

NFL

1*2

1

First line displayed on US

MFP

1*2

1

First pixel displayed on US

NEXT

1*2

1

Next available record in SSV file

Total size: 14 bytes .

A-16

COMMON BLOCK NAME: /WRFCOM/

PURPOSE: Communication of parameters throughout the wheel rate data preprocessor. REFERENCED BY: PREWRF, HEADWR, READWR, PREBRF COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

STIME

R*8

1

Start time of data in seconds

ISTART

1*2

4

Start time

Description

(1) (2) (3) (4)

= YYMM = DDHH = MINUTES = SECONDS

IENDT

1*2

4

End time (same format as ISTART)

IYR

1*2

1

Year of data

NSTART

1*2

1

Number of first logical record to process in current physical record

NEND

1*2

1

Number of last logical record to process in current physical record

ESTD

1*2

1

Process indicator 1 = no data accepted 2 = data accepted, compute derivatives 3 = data accepted contains last point compute derivatives and coefficients 4 = no more data, compute coefficients

NSKIP

1*2

Number of physical records to skip before finding first data point

Total size: 34 bytes

A-17

A. 2 EXTRACTOR/ESTIMATOR COMMON BLOCK DESCRIPTIONS The following COMMON blocks are used in the Extractor/Estimator COMMON BLOCK NAME: /ESTCOM/ PURPOSE: Stores estimator parameters. This COMMON block was created for overlay considerations.

REFERENCED BY: EEAUT, GETOAP, INIT, OBSLMK, ATMAT, LMKPRT, ORBATT, ATTUDE, ORBIT, ACCEL, ATMOS, PREDCT, UPDATE, DYNEDT, STATE, REPORT, ANOISE COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

Description

DELT

R*8

1

Pffl

R*8

6,6

Orbit state transition matrix

PI

R*8

3,3

Partials of orbit wrt position

PO

R*8

3,3

Partials of orbit wrt velocity

TLAST

R*8

1

Time of previous observation

DTLAST

R*8

1

At associated with last observation

TREF

R*8

1

Reference time in seconds since Jan. 1

DJO

R*8

1

Modified Julian date of reference time (ET)

EJO

R*8

1

Modified Julian date of reference time (UT)

COSDCS

R*8

1

Cosine of sun declination

SINDCS

R*8

1

Sine of sun declination

SUNASC

R*8

1

Right ascension of sun

ATT

R*8

3

Total attitude of the spacecraft

ALOW

R*8

3

Low frequency component of S/C attitude

AHIGH

R*8

Seconds since last observation

High frequency component of S/C attitude

A-18

Variable Name

Type

Dimension

Description

Observation partials

RG

R*8

24, 2

Z

R*8

24

Covariance * observation partials

XBAR

R*8

24

Predicted correction to state

PBAR

R*8

300

Predicted covariance

PHAT

R*8

300

Corrected covariance

GAMMA

R*8

300

Process noise

WSTART

R*8

1

Start time of wheel rate data (seconds from reference time)

WEND

R*8

1

End time of wheel rate data (seconds from reference time)

DTA

R*8

1

Time between wheel rate data points * (seconds)

RHO

R*8

1

Atmospheric density

HGTOLD

R*8

1

Height of S/C at last integration

EDIT

L*2

1

Previous observation edit status

•«¥•;

Total size: 8586 bytes

Symetric Storage

A-19

COMMON BLOCK NAME: /ESTPRM/ PURPOSE: Stores estimator parameter which may be input by the user. REFERENCED BY: EXTEXC, EXTOBS, OBSTIM, EEAUT, SETPRM, GETOAP, INIT, OBSLMK, ATMAT, TODORB, LMKPRT, ORBATT, ATTUDE, PREDCT, UPDATE, DYNEDT, STATE, REPORT, READWF, ANOISE, OABRP1 COMMON BLOCK PARAMETERS: Type

Dimension

Description

IDRUN

1*2

1

Two character ID for the current run

NPASS

1*2

1

Pass number of the first scene

NSCENE

1*2

1

Scene number of the first scene

YMDSCT

R*8

1

Scene center time of the first scene (YYMMDD)

HMSSCT

R*8

1

Scene center time of the first scene (HHMMSS. SS)

STIME

R*8

2

Start time of observations (1) = YYMMDD (2) =HHMMSS.SSS

ETIME

R*8

2

End time of observations (1) = YYMMDD

Variable Name

(2) = HHMMSS. SSS

YMDREF

R*8

1

Reference time of run (YYMMDD)

HMSREF

R*8

1

Reference time of run (HHMMSS.SSS)

TT

R*8

1

Time of current state in seconds since reference time

X

R*8

6

Satellite position and velocity

PITCH

R*8

5

Pitch coefficients

ROLL

R*8

5

Roll coefficients

YAW

R*8

5

Yaw coefficients

PBIAS

R*8

3

Camera biases

A-20

Variable Name

Type

Dimension

Description

APCOV

R*8

39

A priori covariance (upper triangle of full covariance for position and velocity and diagonal terms for attitude and biases)

NSOLVE

1*2

1

Total number of solve parameters

NSLVM1

1*2

1

NSOLVE - 1

NCOVEL

1*2

1

Number of elements in covariance matrix

NORB

1*2

1

Number of orbit solve for parameters (fixed at 6)

NATT

1*2

1

Number of attitude coefficients per axis being solved for ,

NPBIA

1*2

1

Number of camera biases being solved for

NPBIAS

1*2

3

Bias solve for flags

. 1*2

1

Input a priori covariance flag

NOISE -

1*2

1

Compute process noise flag

NAPRNO

1*2

1

Input noise a priori covariance indicator

INTWR

1*2

1

Use integrated wheel rates

1*2

1

Apply drag to orbit

LMEMRY

1*2

1

Decaying memory switch

TMEMRY

R*8

1

Time span of memory (seconds)

SIGMA

R*8

1

Sigma multiplier

NEDIT

1*2

1

Edit switch

OBSWT

1*2

2

Observation weights (1) = scan angle (2) = elevation angle

CORRMN

R*8

NAPR

NDRAG

Total Size:

.

Minimum acceptable correlation coefficient

654 bytes

Switches: 0 = OFF, 1 = ON

A-21

COMMON BLOCK NAME: /ESTSAV/ PURPOSE: Saves a priori values of solve parameters for reports. REFERENCED BY: INIT, REPORT Variable Name

Type

Dimension

Description

xo

R*8

6

A priori satellite state vector

PITCHO

R*8

5

A priori pitch vector

ROLLO

R*8

5

A priori roll vector

YAWO

R*8

5

A priori yaw vector

BIASO

R*8

3

A priori camera biases

Total size: 192 bytes

A-22

COMMON BLOCK NAME:

/EXTCOM/

PURPOSE: Stores extractor parameters so that they will not be destroyed by the overlay. REFERENCED BY:

EXTSSA, OBSTIM, EXTOBS

COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

SCT

R*8

1

Scene center time of current scene

KPASS

1*2

1

Pass number of current scene

KSCENE

1*2

1

Scene number of current scene

IN EXT

1*2

1

Record number of next super search area in SSA data file

Total size:

14 bytes

A-23

Description

COMMON BLOCK NAME: /IAVCOM/

PURPOSE: Stores the associate variables for direct access files. This COMMON block was created for overlay considerations. REFERENCED BY: EEMAIN, EXTEXC, EXTSSA, EXTOBS, GETSSA, EXMCOR, EXACOR, EEAUT, READWF, ATTUDE, INOBS, REPORT, OBSRPT, OABRPT COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

Description

IAVSSA

1*2

1

Assoc. variable for the super search area data file

IAVSSV

1*2

1

Assoc. variable for the super search area video file

IAVLCL

1*2

1

Assoc. variable for the landmark chip library

IAVLCV

1*2

IAVBRF

1*2

1

Assoc. variable for the body rates file

IAVOBS

1*2

1

Assoc. variable for the observations file

IAVELM

1*2

1

Assoc. variable for the elements output file for reports

Total size:

Assoc. variable for the landmark chip video file

14 bytes

A-24

COMMON BLOCK NAME: /LMKCOM/

PURPOSE: Communication of parameters throughout the observation model and partial derivatives computation. REFERENCED BY: OBSLMK, ATMAT, LMKPRT COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

Description Line of sight vector from landmark to spacecraft (inertial coordinates)

TLOS

R*8

3

T

R*8

3, 3

TPAR

R*8

3, 3, 6

PRYMAT

R*8

3, 3

PRYPAR

R*8

3, 3, 3

RANGE

R*8

1

Magnitude of line of sight vector

BL

R*8

3

Line of sight vector in body frame coordinates

BLXDIF

R*8

1

Used to compute partial derivatives of biases (1 - BL(1) )

SQTBXD

R*8

1

Used to compute partial derivatives of biases (DSQRT (BLXDIF))

OREL

R*8

3

Line of sight vector in orbital frame coordinates

EPSPBI

R*8

3

Partial derivatives of the scan angle wrt the camera biases

3

Partial derivatives of the elevation angle wrt the camera biases

DELPBI

R*8

Transformation matrix from inertial to orbital frame coordinates Partial derivatives of T wrt the S/C position and velocity Transformation matrix from orbital1" frame to body frame Partial derivatives of PRYMAT wrt attitude

Total size: 936 bytes

A-25

COMMON BLOCK NAME:

/LUNCOM/

PURPOSE: Stores the logical unit numbers (LUN) of all external data sets and I/O devices used by the extractor/estimator. REFERENCED BY:

EXTEXC, EXTSSA, EXTOBS, EXACOR, GETSCR, DCORR,

EXMCOR, OBSTIM, EEAUT, SETPRM, GETOAP, INIT, OBSLMK, TODORB, ATMAT, LMKPRT, ORBATT, ATTUDE, ORBIT, ACCEL, ATMOS, PREDCT, UPDATE, DYNEDT, STATE, REPORT, READWF, INOBS, OBSRPT, OABRPT, ANOISE COMMON BLOCK PARAMETERS:

Description

Type

Dimension

LUN

1*2

1

LUN of DECSCOPE

LUNDSA

1*2

1

LUN of super search area directory

LUNSSA

1*2

1

LUN of super search area data file

LUNSSV

1*3

1

LUN of super search area video file

LUNLCL

1*2

1

LUN of landmark chip library

LUNLCV

1*2

1

LUN of landmark chip video file

LUNDEP

1*2

1

LUN of estimator parameters directory

LUNEEP

1*2

1

LUN of estimator parameters file

LUNBRF

1*2

1

LUN of body rates file

LUNOBS

1*2

1

LUN of observations file

LUNLST

1*2

1

LUN of debug printout

LUNOUT

1*2

1

LUN of report file

LUNELM

1*2

1

LUN of elements output file for reports

LUNOB1

1*2

Variable Name

LUN of input GTDS observations file

Total size: 28 bytes

A-26

COMMON BLOCK NAME: /OBSCOM/ PURPOSE: Stores the current observation record during execution of the extractor/estimator. REFERENCED BY: EXTEXC, EXTSSA, EXTOBS, EEAUT, OBSLMK, REPORT, READWF, INOBS, OBSRPT COMMON. BLOCK PARAMETERS:

Type

Dimension

NOBS

1*2

1

Total number of observations

START

R*8

1

Packed start time of observations (YYMMDDHHMMSS. SSS)

END

R*8

1

Packed end time of observations (YYMMDDHHMMSS. SSS)

IOBS

1*2

1

Observation number of current observation

YMDOB

R*8

1

Time of observation (YYMMDD.)

HMSOB

R*8

1

Time of observation (HHMMSS.SSS)

TOBSC

R*8

1

Modified Julian data of observation

DLAT

R*8

1

Latitude of observation (degrees)

DLON

R*8

1

Longitude of observation (degrees)

OBS

R*8

2

Observations

OMC

R*8

2

Observation residuals

SIG

R*8

2

Standard deviations

IEDIT

1*2

1

Edit flag 0 = no edit 1 = three sigma edit 2 = QA edit

IBAND

1*2

1

Image band of landmark

Variable Name

Total size: 112 bytes

'(1) = Scan angle, (2) = Elevation angle A-27

Description

A.3 DATA BASE MANAGEMENT COMMON BLOCK DESCRIPTIONS The following COMMON Blocks are used in the DBM subsystem. COMMON BLOCK NAME: /BUFFER/ PURPOSE: Stores the record which is being displayed or modified by DBM. REFERENCED BY: DBM, DBMDR, DBMINL, DBMVID, DBMEDI, DBMCMP, RELINK, PRINT, LOCATE, PREFFC COMMON BLOCK PARAMETERS: Type

Dimension

Description

IBUF

1*2

512

Buffer array for active record (maximum size 1024 bytes)

NWORDS

1*2

1

Variable Name

Record size of active record in 1*2 words

Total size: 1026 bytes

A-2S

COMMON BLOCK NAME: /DERCOM/ PURPOSE: Communication of file directory information throughout the Data Base Management (DBM) subsystem. REFERENCED BY: DBM, KEYED, DBMDR, DBMINL, DBMVID, DBMEDI, LNKORP, DBMCMP, RELINK, DIRECT, VIDDm, PRINT, LOCATE, PREFFC, DISPLA COMMON BLOCK PARAMETERS: Dimension

Description

Variable Name

Type

BNAME

1*2

10

NTYPE

1*2

1

File type: 1 = direct file 2 = sequential file 3 = link-listed file 4 = video file 5 = FSR file

NBYTES

1*2

1

Number of bytes per record

HREC

1*2

1

Number of header records

HPARM

1*2

1

Number of parameters in header record

HDESC

1*2

6, 20

HOFF

1*2

20

Array of byte offsets for header parameters

HTYPE

1*2

20

Type codes for header parameters (see Directory File description)

HFMT

1*2

3, 20

HNUM

1*2

20

IREC

1*2

1

Number of data records in the file

IPARM

1*2

1

Number of parameters per data record

Name of the file described by the directory

Array of 12-character descriptors (one per header parameter)

Six-character format for display of header parameters Number of elements in array described for header parameters

A-29

Variable Name

Description

Type

Dimension

IDESC

1*2

6, 80

IOFF

1*2

80

Array of byte offsets for the data parameters

ITYPE

1*2

80

Type codes for the data parameters

IFMT

1*2

3, 80

Six-character formats for display of data parameters

INUM

1*2

80

Number of elements in data array described

INDEX

1*2

1

Record pointer for sequential files

NREC

1*2

1

Total number of records in file

N2

1*2

1

Record number of current data record (associate variable of direct access files)

Array of 12-character descriptors (one per data parameter)

Total size: 2434 bytes

A-30

COMMON BLOCK NAME: /DIRCM2/

PURPOSE: Communication of file directory information throughout the Data Base Management (DBM) subsystem for the additional file used when displaying video files. REFERENCED BY: DBM, DBMVID, VIDDIR COMMON BLOCK PARAMETERS:

Dimension

Description

Variable Name

Type

ANAME

1*2

10

MTYPE

1*2

1

File type: 1 = direct file 2 = sequential file 3 = link-listed file 4 = video file 5 = FSR file

MBYTES

1*2

1

Number of bytes per record

MHREC

1*2

1

Number of header records

MHPARM

1*2

1

Number of parameters in header record

MHDESC

1*2

6, 20

MHOFF

1*2

20

Array of byte offsets for header parameters

MHTYPE

1*2

20

Type codes for header parameters (see Directory File description)

MHFMT

1*2

3, 20

Six-character format for display of header parameters

MHNUM

1*2

20

MDREC

1*2

1

Number of data records in the file

MDPARM

1*2

1

Number of parameters per data record

MDDESC

1*2

Name of the file described by the directory

Array of 12-character descriptors (one per header parameter)

Number of elements in array described

Array of 12-character descriptors (one per data parameter)

6, 80

A-31

Dimension

Description

Variable Name

Type

MDOFF

1*2

80

Array of byte offsets for the data parameters

MDTYPE

1*2

80

Type codes for the data parameters

MDFMT

1*2

3, 80

Six-character formats for display of data parameters

MDNUM

1*2

80

Number of elements in data array described

LUN4

1*2

1

Logical unit number of data file specified by ANAME

N4

1*2

1

Associate variable of data file

MWORDS

1*2

1

Number of 1*2 words per data record

MREC

1*2

1

Total number of records in data file

IPPNT

1*2

1

Offset of the pointer to the video data associated with data record

Total size: 2438 bytes

A-

COMMON BLOCK NAME: /HEADER/

PURPOSE: Stores the header record of direct access files and the parameter offsets for link-listed files. REFERENCED BY: DBM, DBMCMP, DBMINL, LNKORD, RELINK, PRINT, PREFFC

COMMON BLOCK PARAMETERS: Variable Name

Type

Dimension

Description

KBUF

1*2

512

IPUSRT

1*2

Offset of user sort flag in link-listed header record

IPSORT

1*2

Offset of sort flag in link-listed header record

IPREC1

1*2

Offset of pointer to first record in sorted order in link-listed header record

IPREC2

1*2

Offset pointer to the last record in sorted order in the link-listed header record

IPREC3

1*2

Offset of pointer to last full data record in the link-listed header record

Buffer array for active header record

Total size: 1034 bytes

A-33

;

COMMON BLOCK NAME: /LNKCOM/

PURPOSE: Stores offsets for the data parameters which are used to order a link-listed file. REFERENCED BY: DBMINL, LINKORD COMMON BLOCK PARAMETERS:

Variable Name

Type

Dimension

IPORDR

1*2

1

Offset of sequence number in the link-listed data record

IPNEXT

1*2

I

Offset of the pointer to the next record in the link-listed file

IPLAST

1*2

1

Offset of the pointer to the previous record in the link-listed file

Total size: 6 bytes

A-34

Description

APPENDIX B - FILE FORMATS This appendix specifies the formats of the NAVPAK files referenced in the preceding sections. All direct access files are directoried files as described in Section B.I.

Table B-l below lists the files described and the modules which

create and use them. The remainder of this section presents a detailed description of each file format. Table B-l. File Name

Landsat NAVPAK Files Task Created By

Tasks Used By

Full Scene Image

PRVFSR

PREP, PRCfflP

Full Scene Reduce

PRVFSR

PREP, PRCHIP, DBM

Landmark Chip Library (LCL.DAT)

DBM

PRCfflP, PREP

Landmark Chip Video (LCV.DAT)

PRCfflP

PREP, DBM, EEAUT

Super Search Area Data (SSA.DAT)

PREP

EEAUT

Super Search Area Video (SSV. DAT)

PREP

EEAUT, DBM

Wheel Rate Data Tape

MWT

PREWRF

Body Rates File (BODYRATE.DAT)

PREWRF

EEAUT

NAVPAK Observations File (OBS.DAT)

EEAUT

EEAUT

Input GTDS Observations File (OBSWF. DAT)

OUTOBS

EEAUT

Output GTDS Observations File (GTDSOBS. DAT)

EEAUT

EEAUT, GTDS

Estimator Parameters (ESTPRM.DAT)

EEAUT

EEAUT

B-l

B.I

NAVPAK DIRECTORY FILE FORMAT

A directory file identifies each data item within a record of a binary data set. It is separate from the multiple record binary file and is in ASCII format. A directory consists of a single file of a variable number of records. These records are in card image format and are created/edited by the user through the PDP-11 Editor. Any binary file whether sequential or direct access, can be serviced by the DBM Task through the use of a directory file. The directory consists of one header record (card image) which identifies overall attributes of the binary file, and one record (card image) for each parameter in the binary record. One directory describes both header and data records in the binary file. There is a limit of 20 parameters per binary header record and 80 parameters per binary data record. The following listings specify the contents of the header record and the individual parameter records of the NAVPAK directory, respectively. The NAVPAK directory, header record describes the rest of the directory file and the binary file to which the directory refers. It is in ASCII (card image) format. Parameter

Columns

Format

BNAME

1-18

9A2

Fourteen-character name of the binary file

NTYPE

19-20

12

File = 1, = 2, = 3, = 4, = 5,

HPARM

21-22

12

Number of header parameters (0 R U N [ 2 0 , 1JBUILDS

C-l

The user will be prompted to enter the name of the FSI which is to be created. The file will then be created on disk DB1: and initialized. When it is finished, a message will be printed to the user terminal and BUILD will be terminated. C.2 ERBACK - FSI FILE BACK-UP UTILITY PROGRAM ERBACK is a utility program which copies a FSI file from disk to magnetic tape in order to create a back-up copy of the file. Before running ERBACK the user should mount the tape (with a write ring) on tape drive MMO:. The tape should be mounted as a foreign tape with a density of 1600 BPI (two FSI files will fit on one tape at 1600 BPI). To run ERBACK the user should issue the following command: MCR> RUN [20, l] ERBACK? The user will then be prompted to enter the name of the FSI file that is to be copied. The program will expect the FSI file to be located on disk drive DB1:. If the file cannot be located a message will be written on the user terminal. Otherwise, the user will be prompted to enter the number of the tape file where the back-up copy is to be stored.

The tape will then be positioned and the file

will be copied. When the file has been backed up, a message will be written to the user terminal. The user will then be prompted to enter name of the next FSI file to be copied. The FSI file will then be copied to the next file on the tape. If the user enters a null, the tape will be rewound and the program will be terminated. C.3 ERREST - FSI FILE RESTORE UTILITY PROGRAM ERREST is a utility program which restores a FSI file to the disk from a backup tape. Before running ERREST the user should mount the back-up tape on tape drive MMO:.

To run ERREST the user should issue the following com-

mand:

MCR>RUN[2o, I]ERREST$

C-2

The user will then be prompted to enter the name of the FSI file which is to be created. A new FSI file will be created on disk DB1:. Next the user will be prompted to enter the number of the tape file which contains the image. The tape will then be positioned and the image copied to the new FSI file. When it is finished the tape will be rewound, a message will be written to the user terminal, and the program will be terminated. C.4 INCHIP - CHIP DATA BASE INITIALIZATION UTILITY PROGRAM INCHIP is a utility program which creates and initializes the Landmark Chip Library File (LCL.DAT) and the Landmark Chip Video File (LCV.DAT) which comprise the landmark chip data base. Before running INCHIP, the user should create directories for both files in the format in described in Appendix B.I. To run INCHIP the user should issue the following command: - •**

MCR> RUN [20, l]'lNCHIP$ There is no user intervention required by INCHIP. The files will be opened and initialized according to the information in the first record of the directorj' :> files, such as the file name, record size, number of header records and number of data records. C.5 INSSA - SSA DATA BASE INITIALIZATION UTILITY PROGRAM INSSA is a utility program which creates and initializes the Super Search Area Data File (SSA.DAT) and the SSA Video File (SSV.DAT) which comprise the SSA data base. Before running INSSA, the user should create directories for both files in the format given in Appendix B. 1. To invoke INSSA, the user should issue the following command: MCR> RUN C20, l]!NSSA$ There is no intervention required by INSSA. The files will be opened and initialized according to the information in the first record of directory files, such as the file name, record size and the number of records.

C-3

?.

C.6 MWT - MOMEMTUM WHEEL-RATE TAPE REFORMATTING UTILITY PROGRAM MWT is a utility program which reformats the raw momentum wheel-rate data so that it can be used by NAVPAK on the PDP-11/70. Input to MWT utility is a DLP/STAK tape. The desired momentum wheel rates are extracted from the input tape and output to the momentum wheel-rate tape which will be used by the WMEM utility and the Landsat NAVPAK Data Preprocessor. The source code for the MWT utility is stored on the PDP-11/70 in a data file called [20, I]MWT.FTN. The program, however, must be run on the IBM S/360. Thus, the user must transfer the source via tape to the IBM S/360, or use a source (card) deck. The JCL (Job Control Language) required to run MWT is given in Figure C-l, where the input tape is specified on the FT01F001 DD (data definition) card and the output tape is specified on the FT02F001 DD card. There are 3 input cards required through which the user specifies the Landsat identification number and the start and end times of the data span which is to be written to the output tape. These cards should follow the DATA5 DD * card. The format of these cards is given below. Card Number

Columns

Format

Description

1

1-

II

Landsat identification number = 1, Landsat-1 = 2, Landsat-2

2

1-2

12

Start time—year

4-6

13

Start time--days from January 1

8-9

12

Start time—hours

11-12

12

Start time—minutes

14-15

12

Start time—seconds

1-2

12

End time—year

4-6

I

End time—days from Januarv 1

3

C-4

Card Number

//

HX5C

Columns

Format

Description

8-9

12

End time - hours

11-12

12

End time - minutes

14-15

12

End time - seconds

FOKT3AIXH

/X^i-V^-I-N 3-? *

// HXSC LCAOFP. //FT01FOC1 3D C:3 N= I Nt UN!7=2400- ? » D I £P= ( OL 0, KEEP ) , VGL

'

/ / r T 0 2 F O O ? . OD C S N = G L T , UNI T = 2 AO 0- ! J , D I 33= // D C B = < S E C F M = F Er. Li-.cCI.-; 0 ,BLK5 IZC- = 320C // L A B - ~ L = ( 1 , 3 L P » . LUl ) , V:".)L =S;,:.r. =N "WT AP / / O A T A 5 DO *

Figure C-l. Sample JCL for the MWT Program

C-5

C. 7 WMEM - WHEEL RATE LOW FREQUENCY DETERMINATION UTILITY PROGRAM WMEM is a utility program which determines the low frequency in the momentum wheel rate data for each attitude angle (roll, pitch, yaw) using the Maximum Entropy Method (MEM) (see Reference 6). WMEM is a modified version of the MEM program which is described in Reference 6. More specifically, the MEM driver was modified to read the PDF wheel rate data tape which is output from the MWT utility. The source code for the WMEM utility is stored on the PDP-11/70 in a disk file called [20, 1]WMEM. FTN. This program, however, must be run on the IBM S/360. Thus, the user must transfer the source via tape to the IBM S/360 or use a source (card) deck. The required JCL to run WMEM is given in Figure C-2, where the input tape is specified on the FT01F001 DD.card. The input PDP wheel rate data tape will contain data at one second intervals. In order to use 1000 data points that cover more than one orbital period, every 20th data point will be accepted, resulting in a data interval of 20 seconds. This interval also allows the MEM filter "memory" to be long enough to detect the low frequency in the data. In addition the time tag of each data point will be expressed as seconds from the start time of the data. WMEM has also been set up to compute and use the optimum number of Burg coefficients (see Reference 6). Through experimentation this was determined to be approximately 40 coefficients. The wheel rates for each attitude angle are processed separately. The output for each attitude angle consists of four graphs and several numerical reports. These graphs and reports are discussed below. Sample output for the yaw angle is given in Figure C-3. First, a graph of the data is output where the vertical axis has the units RPM and the horizontal axis has units of seconds. The next output is a list of frequencies obtained. The units are Hertz (cycles per second). The frequencies have been arranged in decreasing order of significance as

C-6

discussed in Reference 6. Hence, the fundamental frequency of interest should be the first or second frequency listed. However, there is no guarantee that it will be the very first frequency. Thus, the user should inspect the first few frequencies listed and select the one having the same order of magnitude as the satellite orbital frequency (viz l/(orbital period). The remaining output is primarily for diagnostic purposes.

The errors in the MEM prediction filter are

listed compared to the wheel-rate data. Thus, P(M) is the sum (over the total number of input data points) of the squared difference between the prediction of the wheel-rate data by the M coefficient filter and the wheel-rate data itself. Next, a graph of the P(M) is given. Finally, the power spectrum of the wheelrate data obtained using the MEM derived filter is listed and graphed.

//

FXFC

/ / ^ Yv S L I R

LINK

O H nS>M = S Y S 2 . I K S L S , i M S P = S H K

/ / s s L M n n n n n s r-> = & s. T F ;-i p , ij i s P = ( w E N , P A ss ) / / S Y S L . I I V no * . //STEPl / / S Y S IN

PXFC nn --:=

F n K T K A N X , P A K i v ' = ( 1 f > , M A P, X R E F

/ / S T F • /? E X F C L I NK ( 7 ( 1 ? h n K T — P P j i\ !„ *? 11 j' %j • vi f ! — c_ w w i \ / / L I W K . S Y S L I B D O i " ) S l M = A T T i T . A T T M A I K i . U T I L .ObJ , L J 1 S P = S H R // nn nS,OISP=SHR // nn n s ^ = ^ f , T F > ' ° , n ! S P = ( n L D » r > E l FTF )

// nn D S N = S Y S ? . I M S L S , o i s p = S H r t // nn n s M = S Y S ] .FOkTi iR~,msp = SHK /=:= / / ' - n . s Y s n n i i M p n n S Y S D ! I T = A , S P A C F =( C Y L , ( i , i ) ) //r-n. FToiFoni nn LASFJ. = ( L » F J L P » » IN ) ,UM[ T = 2400-4, // //

nC8= ( k R C F i M = FB y L RFC L=HG , »L^ S I 7t = ' " 0 I S P = ( H I _ 0 , P A S S ) , \ / i ) L = S F R = 3 17 r"

Figure C-2. Sample JCL for the WMEM Program

C-7

m » *

^

3 Q

t—

ii

u n u n n u

*>•

o

— C N n < r i O ( 0 f - c o < j > o — f^c*i^rioior-cocjio — c N n v i n o r - c c ^ o — o i n c - u i t D r - c o o i o

'^

ii uj

ii

ii

it

ii

ii

ii

ii

ii

ii

n ii

—^^

ii

it

n n ii

n ii

ii

ii

ii

ti

ii

ii

ii

(i

11 ii

n 11 11 n it

——— — — —— c i c N M r t o t e ^ w c N e N r t n n n n n r i n t n n t n T

5 ^

I

ra coI

( / i o i u i ( j > » - c o o « r ( N a 3 t o — tocotncMO —oino , U J O O O O — — O — OO—

— OOJOJC4 — —

W^

0:00000000000000000000 u. O O O O O O O O O O O O O O O O O O O O

C-9

o eo

F o

sW

s £ /> *J"» ^l &•

1 C

3

Q.

a-

C

( D c n r ^ ( ( ( i < i t i i i i i i i i f i i i ( t t c t t oooooooooooooooooooooooooooooooooooooooooooooooooo or>-a)C' — — CM — r*— ^ r u i r ~ * T C T c o u i o i r * o c i c D i f i — • T o u i r * - c 3 0 i C i c o c s i 5 > o , ' T O C O O i u o o > — CNCO — n ^ O ^ ^ c r * r ^ c > r i o ^ c i n n > O i c * J O r i - n « - 3 C N O O C > r i w c ^ T ^ ' S i p - - ' T C i L ' i a i ' j i c * i r i * i N ' T O - - o i t o — co tor- — T N C M O i n < r c j ~ — CM— — — — ninmininuiTn^np* — — — c D i n n n n < i i n i n « r ^ r < T ( D — -— — W C N — oooOoooooooooooooooooooooooooooooooooooooooooooooo

ii

ii

n n ii

n

ii

n u 11 it

n n 11 n n 11 n n it

11 n n n 11 n u n n n u it

n n 11 n n n n n u n n n n H it n n n

aa.aa-aaa.a.Q.a.aaaaa.a.a.a.ao.c.a.a.aa.a,a.aa.aaa.o.aa.a.a.a.a.a.ao.a.a.a.aaa.a.a t/>i/>i/ji/i^^^i/*^w'*^^^^w^(/>i/)^^^wt^wui(/iui^'/i | O

3 UJ 00

UJ Z

23

t- UJ U CC Z ti.

u. (/>

3 VI O CO

C-12

ocoooooooooooooooooooooooooooooooooooooooooooooooo 00000000000000000000000000000000000060000000000000 — T lT)COi/)*TC'^U^tOO*^r

^ U J V f ' } " * l f > C ^ — O C Q C l i f l t * » L O ' " O C Q O T t O f ' l C ] ^ < T — ' n O O l N t f l C l — r j ^ C D — OIOIOW

oooooooooooooooooooooooooooooooooooooooooooooooooo

.

"S «D *^r

u i i i i i i i i i i i t i i u u i i n u i i n n n i t n i i H n n n a H i } n N i i i i i i n t t i i i i n i i u t i u n n n H i i i i « u « •

010

I :I

.

.gs 5I

'

u a.

'

CDC003CDC3C3COOC3flOff)CDCDCOC3C3CTl^ffiff)G^O10l^*O^OCPlft»dC^O^dOOOOOOOOO>CD

o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o — — — — •- — — — o o o o o o o o o o 00000000000000000000000000000000000000000000000000

oootloooooooooooooooooooooooooooooooooooooooooooooo

Q,

t> &•

I

'

J^T

VJ

O

I --c*r». // D C 3 = ( a E C = M=F8tLRECL=80.BLKSIZE = 2 0 0 0 I * // O I S P = H E* .KEEP) , / O L = S E R = 3 2 0 2 l

Figure C-4. Sample JCL For a GTDS Data Simulation and OUTOBS Run

C-15

APPENDIX D - SYSTEM UPDATE COMMAND FILES

The standard RSX-11D FORTRAN compilation and task building procedures are used to update the Landsat NAVPAK system. The command and overlay files required to compile and task build the tasks which comprise the Landsat NAVPAK system are given in Figures D-l through D-13.

D-l

;PEEF -TfiSK Ol-'EELftV .ROOT FEEF-E1-S1-*