Summary This document provides a specification of code to
allow the aspect pipeline to use proper motion information from the
AGASC to correct the guide star positions to the epoch of the
observation. This directly affects the following columns of the
Aspect L1 GSPROPS product:
ra_corr
dec_corr
pos_eci
Spec
The necessary changes are confined to the
Read_Agasc_Write_Gsprops routine of the
aca_id_image tool. For each guide star being processed for
which AGASC catalog access was successful, do the following:
- Get the star epoch (year) from the AGASC. This corresponds to
the column EPOCH.
- Get the star proper motion in milli-arcsec per year from the
AGASC by reading columns PM_RA and PM_DEC.
Call these values star_pm_ra and star_pm_dec
- Convert the midpoint in time of the aspect interval
to a decimal year (e.g. 2003.4322). Subtract from this the star
epoch and call the result delta_year
- Initialize the star proper motion corrections (degrees)
double delta_ra=0;
double delta_dec=0;
- If none of EPOCH, PM_RA, or PM_DEC
are equal (within floating precision) to -9999, then
calculate:
delta_ra = delta_year * star_pm_ra / Milliarcsec_per_arcsec / arcsec_per_degree;
delta_dec = delta_year * star_pm_dec / Milliarcsec_per_arcsec / arcsec_per_degree;
- If (delta_ra^2 + delta_dec^2) > (max_proper_motion /
arcsec_per_degree)^2 then issue a warning with relevant
information and set delta_ra = 0 and delta_dec
= 0.
max_proper_motion is a new tool parameter for
aca_id_image with a default value of 5 (arcsec).
- Define quaternion objects corresponding to the star position
and (delta_ra, delta_dec) with roll=0 for both. Then
calculate the corrected star positon as the quaternion product of
quat_delta * quat_star:
Quat quat_star;
Quat quat_delta;
Quat quat_star_corr;
quat_star.Set(star_ra, star_dec, 0);
quat_delta.Set(delta_ra, delta_dec, 0);
quat_star_corr = quat_delta * quat_star;
- Set the corrected star position (star_ra_corr,star_dec_corr)
from the corrected star quaternion:
quat_star_corr.Get(ra_corr, dec_corr, roll_corr);
gsprops.ra_corr = ra_corr;
gsprops.dec_corr =_dec_corr;
- Set the effective position vector (pos_eci_eff) using the
corrected position instead of the catalog position
gsprops.pos_eci_eff[0]= cos(ra_corr * RAD_PER_DEG)*cos(dec_corr * RAD_PER_DEG);
gsprops.pos_eci_eff[1]= sin(ra_corr * RAD_PER_DEG)*cos(dec_corr * RAD_PER_DEG);
gsprops.pos_eci_eff[2]= sin(dec_corr * RAD_PER_DEG);
Testing
Unit level To verify the correct computations at the unit
level, disable the check on proper motion correction size and stub in
the following values. Confirm that the corrected RA and Dec are as
listed:
star_epoch = 2000.0
current_year = 2004.0
pm_ra = 900 arcsec/year
pm_dec = 1800 arcsec/year
ra = 60.0000
dec = 89.0000
ra_corr = 195.021817
dec_corr = 88.586038
System level
Reprocess obsid 4501. This dataset is known to
have a star with a large proper motion.
Aspect Information main page
Comments or questions: Aspect Help
Last modified:12/27/13
|