9.3 Include File: HD_reference.h


/***********************************************************************
 *
 *    FILE NAME: HD_reference.h
 *
 *
 *    PURPOSE: Defines all reference data variables.
 *
 *
 *    GLOBAL VARIABLES:
 *
 *    Variables              Type            Description
 *    -------------          --------        ---------------------------
 *    e_pos                  double[3]       S/C to Earth unit vector
 *
 *    ephem_file_lu          long            FORTRAN logical unit number
 *                                             for the ephemeris file
 *
 *    ephem_file_name        char[30]        Name of the ephemeris file
 *
 *    ephem_method           char            Method for computing
 *                                             ephemeris information:
 *                                             F = Use ephemeris file
 *                                             A = Compute analytically
 *                                                 using Keplerian
 *                                                 elements
 *
 *    keplerian              double[6]       Keplerian orbital elements
 *                                             at the epoch time
 *                                             (orbital_t_epoch):
 *                                             [1] Semimajor axis [km]
 *                                             [2] Eccentricity
 *                                             [3] Inclination [rad]
 *                                             [4] Right ascension of
 *                                                 the ascending node
 *                                                 [rad]
 *                                             [5] Argument of perigee
 *                                                 [rad]
 *                                             [6] Mean anomaly [rad]
 *
 *    m_order                long            Order of magnetic field
 *
 *    m_pos                  double[3]       S/C to Moon unit vector
 *
 *    mag_field              double[3]       Earth magnetic field vector
 *                                             [mG]
 *
 *    mag_field_unit         double[3]       Earth magnetic field unit
 *                                             vector
 *
 *    maxit                  long            Maximum number of
 *                                             iterations to converge
 *                                             the true anomaly
 *
 *    MU_E                   double          Earth gravitational
 *                                             constant [km^3/sec^2]
 *
 *    NUMPTS                 int             Number of points used by
 *                                             the EPHEMRD interpolator
 *
 *    orbit_normal           double[3]       Orbit normal unit vector
 *
 *    orbital_t_epoch        double          Base epoch time of the
 *                                             orbital elements [sec]
 *
 *    s_c_pos                double[3]       S/C position vector [km]
 *
 *    s_c_vel                double[3]       S/C velocity vector
 *                                             [km/sec]
 *
 *    s_pos                  double[3]       S/C to Sun unit vector
 *
 *    t_b_ref                double          Time of last calculated
 *                                             Earth magnetic field
 *                                             vector [sec]
 *
 *    t_e_ref                double          Time of last calculated s/c
 *                                             to Earth unit vector
 *                                             [sec]
 *
 *    t_m_ref                double          Time of last calculated s/c
 *                                             to Moon unit vector [sec]
 *
 *    t_o_ref                double          Time of last calculated
 *                                             orbit normal unit vector
 *                                            [sec]
 *
 *    t_rv_ref               double          Time of last calculated s/c
 *                                             position and velocity
 *                                             vectors[sec]
 *
 *    t_s_ref                double          Time of last calculated s/c
 *                                             to Sun unit vector [sec]
 *
 *    THREEB                 double          Gravitational constant of
 *                                             perturbations [Km^2]
 *
 *    ttol                   double          Tolerance in the
 *                                             calculations of the true
 *                                             anomaly [rad]
 *
 *
 *    DEVELOPMENT HISTORY:
 *
 *    Date      Author         Change  Release  Description of Change
 *    ID
 *    --------  -------------  ------  -------  ------------------------
 *    09-23-93  J. Programmer              1    Prolog and PDL
 *    10-07-93  J. Programmer              1    Controlled
 *    12-02-93  J. Programmer              1    Integrated new RSL routines
 *    12-17-93  J. Programmer              2    Added maxit and ttol;
 *                                                added MU_E and THREEB
 *                                                as #defines
 *    04-06-94  J. Programmer      27      3    Corrected the THREEB value
 *    05-10-94  J. Programmer              3    Added ephemeris read
capability
 *
 *
 ***********************************************************************/

    #define  MU_E    398600.8
    #define  THREEB  66042.0
    #define  NUMPTS  4

    extern long      ephem_file_lu;
    extern double    e_pos[3];
    extern char      ephem_file_name[30];
    extern char      ephem_method;
    extern double    keplerian[6];
    extern long      m_order;
    extern double    m_pos[3];
    extern double    mag_field[3];
    extern double    mag_field_unit[3];
    extern long      maxit;
    extern double    orbit_normal[3];
    extern double    orbital_t_epoch;
    extern double    s_c_pos[3];
    extern double    s_c_vel[3];
    extern double    s_pos[3];
    extern double    t_b_ref;
    extern double    t_e_ref;
    extern double    t_m_ref;
    extern double    t_o_ref;
    extern double    t_rv_ref;
    extern double    t_s_ref;
    extern double    ttol;