Spacecraft Attitude and Ephemeris
    7.1  Routines for Determining Spacecraft Pointing
        7.1.1  RD_PNT_HIST
        7.1.2  SXT_CEN
        7.1.3  GET_ROLL
        7.1.4  HXA_SUNCENTER
    7.2  Routines to Access the Yohkoh Attitude Database
        7.2.1  RD_PNT
        7.2.2  RD_ATR and RD_ATT
        7.2.3  GET_ATT
        7.2.4  GT_HXA
        7.2.5  GT_IRU
    7.3  Spacecraft Ephemeris
        7.3.1  ORB files
        7.3.2  FEM Files

7  Spacecraft Attitude and Ephemeris

7.1  Routines for Determining Spacecraft Pointing

7.1.1  RD_PNT_HIST

The routine RD_PNT_HIST will read the file $DIR_GEN_STATUS/pointing.history to determine all of the spacecraft commanded off-points. The structure returned has the .TIME and .DAY when the pointing change has occurred, and the offset (.OFFSET) for that pointing change. The S/C pointing bias is taken into account (the pointing bias has not been changed since 28-Oct-91). A sample call is:
IDL >  rd_pnt_hist, pntdata
PR_PNT_HIST provides a simple method to display a summary of the commanded spacecraft pointing changes. Sample calls are:
IDL >  pr_pnt_hist
IDL >  pr_pnt_hist, outfil='pr_pnt_hist.txt'
The routine SXT_CMD_PNT will return the SXT pixel coordinates of the center of the sun using the spacecraft commanded pointing history database file (calls to SXT_CEN with the /cmd switch simply call SXT_CMD_PNT). A sample call is:
IDL >  xy = sxt_cmd_pnt(index)

7.1.2  SXT_CEN

The routine SXT_CEN should be used by all routines that wish to determine the S/C pointing. The function will return the pointing in SXT full resolution pixels for the set of times passed. The following logic is used if no switches are used

Some sample calls are:
IDL >  cen = sxt_cen(times)
IDL >  cen = sxt_cen(roadmap, /cmd)
IDL >  cen = sxt_cen(index, roll=roll)
The S/C roll value can optionally be returned with the keyword parameter roll. The roll values are only valid if the ATT database is available. If the /cmd option is used, it will use the commanded S/C data file which is much faster than reading the ATT database files. See the discussion on page 7.2.2 for more details on the ATT database.

7.1.3  GET_ROLL

The spacecraft is generally aligned to solar north, although it oscillates around slightly. The actual S/C roll value is determined from the star tracker and is stored in the ATT database file. There is also a one degree offset between the spacecraft and the SXT CCD-north. The orientation of the offset is shown in Fig. 7.11.


Figure 7.11: Roll Angle Offset for the SXT

The sign convention of the roll value which is returned by GET_ROLL is shown in Fig.  7.12.


Figure 7.12: Sign Convention for the SXT Roll Angle

Figs. 7.11 and 7.12 can be displayed on the screen by using the IDL routine HELP_ROLL.

Some sample calls to GET_ROLL are (it only accesses the date and time in index):
IDL >  roll = get_roll(index)
IDL >  print, get_roll('23-jun-93 1:00')
IDL >  print, get_roll('23-jun-93 1:00', /predict)
The /predict option tells it to not access the ATT database but to use the predicted roll based on seasonal variations. This value can be very incorrect for certain times. The /notsxt option will return the S/C roll value without the SXT offset, and /sxt_offset will just return the fixed offset value between S/C north and SXT north. The routine SXT_CEN calls GET_ROLL automatically and you can get the roll using the keyword roll with SXT_CEN.


Calculate the suncenter position (in SXT pixel coordinates) from the HXA info in the ATR (or PNT) files. Tries to reconstruct hidden limbs.
IDL >  sunc = hxa_suncenter(atr)
IDL >  sunc = hxa_suncenter(index=index)
If the input atr or index have N elements, then the result will be a floating array of 4xN elements. sunc(0,*) is the SXT column number in `IDL coordinates'6, sunc(1,*) is the SXT line number, sunc(2,*) is the milliseconds of day for the input time, and sunc(3,*) is the days since 1-Jan-79 number for the input time.

7.2  Routines to Access the Yohkoh Attitude Database

7.2.1  RD_PNT

The PNT database was broken up into two parts in mid-1993. See RD_ATR and RD_ATT. The PNT database is no longer used.

7.2.2  RD_ATR and RD_ATT

The RD_ATR routine allows a user to read the raw S/C pointing information which is stored in secondary database files. The ATR files have the IRU, HXA, and TFSS information for every major frame. The RD_ATT routine allows a user to read the processed S/C pointing information. Sample calls would be:
IDL >  rd_atr, sttim, entim, atr
IDL >  rd_att, sttim, entim, att
IDL >  rd_atr, '1-nov-91', '3-nov-91', atr
The ATR structure that is returned has the following tags:

.TIME The major frame time for the data
.DAY The major frame day for the data
.DP_MODE The S/C DP mode (see GT_DP_MODE)
.DP_RATE The S/C telemetry rate (see GT_DP_RATE)
.IRU A three element array with the raw IRU X,Y,Z values
.TFSS A two element array with the raw TFSS values
.HXA A four element array with the addresses of the
limbs as detected by the HXA

The ATT database is derived from the HXA and IRU data using the routine IRUHXA2SXT which was written by Jean-Pierre Wuelser. The ATT structure that is returned has the following tags:

.TIME The major frame time for the data
.DAY The major frame day for the data
.DP_MODE The S/C DP mode (see GT_DP_MODE)
.DP_RATE The S/C telemetry rate (see GT_DP_RATE)
.PNT A three element array with the derived center for the sun in
SXT full resolution pixels.
(0) = E/W (East has smaller values) in 1/100 SXT FR pixel units.
(1) = N/S (South has smaller values) in 1/100 SXT FR pixel units.
(2) = Roll in 0.1 arcsecond units - Negative values are S/C rotating
counter-clockwise relative to solar north
.STATUS1 Indicates the reliability of each sun center position.
1: plain S/C commanded value used, no dejittering with IRU.
2: S/C commanded value dejittered with IRU.
4: HXA value dejittered with IRU. Standard result, good.
Note: S/C commanded values can be several pixels off.
.STATUS2 - Reserved
.ADS - If set, then the S/C roll value from the ADS database was
inserted into the structure

7.2.3  GET_ATT

For a given set of input times, GET_ATT will read the relevant ATT records (if 100 input times are passed in, then 100 ATT records are returned). This routine is useful when trying to access ATT data that covers a set of times over a long time span. A sample call would be:
IDL >  get_att, index, att

7.2.4  GT_HXA

GT_HXA will extract the HXA data from a ATR structure or from an ADA data structure. Some sample calls are:
IDL >  hxa = gt_hxa(atr)
IDL >  sxtcen = gt_hxa(atr_data, /sxtpix)
IDL >  sxtcen = gt_hxa(atr_data, /sxtpix, /x)
IDL >  hxacen = gt_hxa(atr_data, /hxacen)
IDL >  hxacen = gt_hxa(atr_data, /hxacen, /y)
IDL >  x1 = gt_hxa(atr_data, 0)
IDL >  x2 = gt_hxa(atr_data, 1)
IDL >  y1 = gt_hxa(ada_data, 2)
The hxa result would be 4xN where there are four addresses for HXA limbs. The /x or /y switches will result in a single address being returned, and the /sxtpix will return the results in SXT pixel coordinates.

7.2.5  GT_IRU

It is possible to extract the IRU information from the ATR or ADA structures using GT_IRU. The output is in arcseconds. It is also possible to have the drift in the IRU removed for short time periods by using the /RESID switch (it fits a line to the drift and subtracts that drift). Sample calls are:
IDL >  iru = gt_iru(atr)
IDL >  iru = gt_iru(atr, /resid)
IDL >  iru = gt_iru(ada)
IDL >  iru = gt_iru(ada, index, /resid)

7.3  Spacecraft Ephemeris

7.3.1  ORB files

7.3.2  FEM Files

some text?

Converted at the YDAC on Oct 4, 2004
(from LaTEX using TTH, version 1.92, with postprocessing)