/* Diurnal aberration
* This formula is less rigorous than the method used for
* annual aberration. However, the correction is small.
*/
#include "kep.h"
/* distance from observer to center of Earth, in Earth radii: */
extern double trho;
/* geocentric latitude of observer, degrees: */
extern double tlat;
int diurab( last, ra, dec )
double last; /* local apparent sidereal time, radians */
double *ra; /* right ascension, radians */
double *dec; /* declination, radians */
{
double lha, coslha, sinlha, cosdec, sindec;
double coslat, N, D;
lha = last - *ra;
coslha = cos(lha);
sinlha = sin(lha);
cosdec = cos(*dec);
sindec = sin(*dec);
coslat = cos( DTR*tlat );
if( cosdec != 0.0 )
N = 1.5472e-6*trho*coslat*coslha/cosdec;
else
N = 0.0;
*ra += N;
D = 1.5472e-6*trho*coslat*sinlha*sindec;
*dec += D;
if( prtflg )
{
printf( "diurnal aberration dRA %.3fs dDec %.2f\"\n", RTS*N/15.0, RTS*D );
}
return(0);
}
syntax highlighted by Code2HTML, v. 0.9.1