ftp.nice.ch/pub/next/science/astronomy/usat-NeXT.N.bs.tar.gz#/usat/almanacAA/vearth.c

This is vearth.c in view mode; [Download] [Up]

/****************************************************************/
/* vearth.c							*/
/*								*/
/* Calculate the velocity vector of the earth			*/
/* as it moves in its elliptical orbit.				*/
/* The difference in velocity between this and assuming		*/
/* a circular orbit is only about 1 part in 10**4		*/
/*								*/
/* Note that this gives heliocentric, not barycentric, velocity.*/
/*								*/
/* Input is Julian date.  Output left in global array vearth[]. */
/****************************************************************/

/***** description
 *
 *	$Id: vearth.c,v 1.3 1993/04/22 19:52:47 craig Exp $
 *
 */

/***** modification history
 *
 *	$Log: vearth.c,v $
 * Revision 1.3  1993/04/22  19:52:47  craig
 * minor change.
 *
 * Revision 1.2  1993/04/21  15:56:34  craig
 * First working version.  Ran through indent and converted to ansi.
 * Added hooks for working with the satellire programs.
 *
 *
 */

/***** include files *****/

#include "aaproto.h"

/***** global variables *****/

double jvearth = -1.0;
double vearth[3] = {0.0};

/* from cnstinit.c */

extern double TDT;
extern double rearth[3];
extern struct orbit earth;

/************/
/* velearth */
/************/

int    velearth (double J)
{
    double e[3], p[3], t;
    int    i;

/*
    double x[3], A, q;
*/

    if (J == jvearth)
    {
	return (0);
    }

    jvearth = J;

    /* calculate heliocentric position of the earth as of a short time
       ago. */

    t = 0.005;
    kepler (TDT - t, &earth, e, p);

    for (i = 0; i < 3; i++)
    {
	vearth[i] = (rearth[i] - e[i]) / t;
    }

    /* Generate display for comparison with Almanac values. */

/*
    for (i = 0; i < 3; i++)
    {
	q = vearth[i];
	A += q * q;
	x[i] = q;
    }

    A = sqrt (A);
    precess (x, TDT, 1);
    printf ("Vearth %.6e, X %.6lf, Y %.6lf, Z %.6lf\n", A, x[0], x[1], x[2]);
*/

    return (0);
}

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.