This is diurab.c in view mode; [Download] [Up]
/**********************************************************/
/* durab.c */
/* */
/* Diurnal aberration */
/* */
/* This formula is less rigorous than the method used for */
/* annual aberration. However, the correction is small. */
/**********************************************************/
/***** description
*
* $Id: diurab.c,v 1.5 1993/04/30 18:23:04 craig Exp $
*
*/
/***** modification history
*
* $Log: diurab.c,v $
* Revision 1.5 1993/04/30 18:23:04 craig
* Changed the output call from sending the output to stdout to
* sending the output to the file outfile (which can be stdout).
*
* Revision 1.4 1993/04/22 19:41:41 craig
* minor changes.
*
* Revision 1.3 1993/04/21 21:08:55 craig
* Changed path for the satellite.h include file.
*
* Revision 1.2 1993/04/21 15:11:51 craig
* First working version. Ran through indent and converted to ansi.
* Added hooks to work with the satellite programs.
*
*
*/
/***** include files *****/
#include <math.h>
#include "aaproto.h"
#include "satellite.h"
/***** global variables *****/
/* from cnstinit.c */
extern int prtflg;
extern FILE *outfile;
extern struct MCONSTANTS mcnsts;
/* from kfiles.c */
extern double trho; /* distance from observer to
center of Earth, in Earth
radii: */
extern double tlat; /* geocentric latitude of
observer, degrees: */
/**********/
/* diurab */
/**********/
/* last = local apparent sidereal time, radians */
/* ra = right ascension, radians */
/* dec = declination, radians */
int diurab (double last, double *ra, double *dec)
{
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 (mcnsts.de2ra * 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)
{
fprintf (outfile, "diurnal aberration dRA %.3fs dDec %.2f\"\n",
mcnsts.ra2sec * N / 15.0, mcnsts.ra2sec * D);
}
return (0);
}
These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.