Changeset 3111 in Sophya for trunk/SophyaExt/XephemAstroLib


Ignore:
Timestamp:
Nov 22, 2006, 2:53:31 PM (19 years ago)
Author:
cmv
Message:

mise en conformite xephem 3.7.2 cmv 22/11/2006

Location:
trunk/SophyaExt/XephemAstroLib
Files:
64 edited

Legend:

Unmodified
Added
Removed
  • trunk/SophyaExt/XephemAstroLib/aa_hadec.c

    r2818 r3111  
    7575
    7676/* For RCS Only -- Do Not Edit */
    77 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: aa_hadec.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     77static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: aa_hadec.c,v $ $Date: 2006-11-22 13:53:27 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/aberration.c

    r2818 r3111  
    3535ab_eq (double mj, double lsn, double *ra, double *dec)
    3636{
     37#if defined(USE_MEEUS_AB_EQ)
     38
     39        /* this claims to account for earth orbit excentricity and is also
     40         * smooth clear to dec=90 but it does not work well backwards with
     41         * ap_as()
     42         */
    3743        ab_aux(mj, ra, dec, lsn, AB_EQ_EOD);
     44
     45#else /* use Montenbruck */
     46
     47        /* this agrees with Meeus to within 0.2 arcsec until dec gets larger
     48         * than about 89.9, then grows to 1as at 89.97. but it works very
     49         * smoothly with ap_as
     50         */
     51        double x, y, z;         /* equatorial rectangular coords */
     52        double vx, vy, vz;      /* aberration velocity in rectangular coords */
     53        double L;               /* helio long of earth */
     54        double cL;
     55        double r;
     56
     57
     58        sphcart (*ra, *dec, 1.0, &x, &y, &z);
     59
     60        L = 2*PI*(0.27908 + 100.00214*(mj-J2000)/36525.0);
     61        cL = cos(L);
     62        vx = -0.994e-4*sin(L);
     63        vy = 0.912e-4*cL;
     64        vz = 0.395e-4*cL;
     65        x += vx;
     66        y += vy;
     67        z += vz;
     68
     69        cartsph (x, y, z, ra, dec, &r);
     70
     71#endif
    3872}
    3973
     
    111145               
    112146                *ra += dra;
    113                 range (ra, 2*PI);
    114147                *dec += ddec;
     148                radecrange (ra, dec);
    115149            }
    116150            break;
     
    125159
    126160/* For RCS Only -- Do Not Edit */
    127 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: aberration.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     161static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: aberration.c,v $ $Date: 2006-11-22 13:53:27 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/actan.c

    r2818 r3111  
    11#include <math.h>
    22
    3 /* @(#) $Id: actan.c,v 1.5 2005-08-21 10:02:36 cmv Exp $ */
     3/* @(#) $Id: actan.c,v 1.6 2006-11-22 13:53:27 cmv Exp $ */
    44
    55/* commonly in math.h, but not in strict ANSI C */
     
    6565
    6666/* For RCS Only -- Do Not Edit */
    67 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: actan.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     67static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: actan.c,v $ $Date: 2006-11-22 13:53:27 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/airmass.c

    r2818 r3111  
    2424
    2525/* For RCS Only -- Do Not Edit */
    26 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: airmass.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     26static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: airmass.c,v $ $Date: 2006-11-22 13:53:27 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/anomaly.c

    r2818 r3111  
    6161
    6262/* For RCS Only -- Do Not Edit */
    63 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: anomaly.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     63static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: anomaly.c,v $ $Date: 2006-11-22 13:53:27 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/ap_as.c

    r2818 r3111  
    11#include <string.h>
     2#include <math.h>
    23
    34#include "astro.h"
     
    1112ap_as (Now *np, double Mjd, double *rap, double *decp)
    1213{
     14        double r0 = *rap, d0 = *decp;
    1315        Obj o;
    1416        Now n;
    1517
     18        /* as -> ap */
    1619        zero_mem ((void *)&o, sizeof(o));
    1720        o.o_type = FIXED;
     
    2427        *rap -= o.s_ra - *rap;
    2528        *decp -= o.s_dec - *decp;
     29
     30        /* then back to start for second order correction */
     31        o.o_type = FIXED;
     32        o.f_RA = (float)*rap;
     33        o.f_dec = (float)*decp;
     34        o.f_epoch = (float)mjd;
     35        memcpy ((void *)&n, (void *)np, sizeof(Now));
     36        n.n_epoch = EOD;
     37        obj_cir (&n, &o);
     38        *rap -= o.s_ra - r0;
     39        *decp -= o.s_dec - d0;
     40
    2641        radecrange (rap, decp);
    2742        precess (mjd, Mjd, rap, decp);
     
    5166
    5267/* For RCS Only -- Do Not Edit */
    53 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: ap_as.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     68static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: ap_as.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/astro.h

    r2818 r3111  
    657657/* formats.c */
    658658extern int fs_sexa (char *out, double a, int w, int fracbase);
    659 extern int fs_date (char out[], double jd);
     659extern int fs_date (char out[], int format, double jd);
    660660extern int f_scansexa (const char *str, double *dp);
    661661extern void f_sscandate (char *bp, int pref, int *m, double *d, int *y);
     
    810810
    811811/* For RCS Only -- Do Not Edit
    812  * @(#) $RCSfile: astro.h,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     812 * @(#) $RCSfile: astro.h,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    813813 */
  • trunk/SophyaExt/XephemAstroLib/atlas.c

    r2818 r3111  
    194194
    195195/* For RCS Only -- Do Not Edit */
    196 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: atlas.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     196static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: atlas.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/auxil.c

    r2818 r3111  
    4040
    4141/* For RCS Only -- Do Not Edit */
    42 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: auxil.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     42static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: auxil.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/bdl.c

    r2818 r3111  
    232232
    233233/* For RCS Only -- Do Not Edit */
    234 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: bdl.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     234static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: bdl.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/bdl.h

    r2818 r3111  
    33
    44/* For RCS Only -- Do Not Edit
    5  * @(#) $RCSfile: bdl.h,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $
     5 * @(#) $RCSfile: bdl.h,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $
    66 */
  • trunk/SophyaExt/XephemAstroLib/chap95.c

    r2818 r3111  
    172172
    173173/* For RCS Only -- Do Not Edit */
    174 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: chap95.c,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     174static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: chap95.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/chap95.h

    r2818 r3111  
    6565
    6666/* For RCS Only -- Do Not Edit
    67  * @(#) $RCSfile: chap95.h,v $ $Date: 2005-08-21 10:02:36 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     67 * @(#) $RCSfile: chap95.h,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    6868 */
  • trunk/SophyaExt/XephemAstroLib/chap95_data.c

    r2818 r3111  
    781781
    782782/* For RCS Only -- Do Not Edit */
    783 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: chap95_data.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     783static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: chap95_data.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/circum.c

    r2818 r3111  
    861861
    862862/* For RCS Only -- Do Not Edit */
    863 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: circum.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     863static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: circum.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/comet.c

    r2818 r3111  
    8181
    8282/* For RCS Only -- Do Not Edit */
    83 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: comet.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     83static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: comet.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/constel.c

    r2818 r3111  
    18011801
    18021802/* For RCS Only -- Do Not Edit */
    1803 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: constel.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     1803static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: constel.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/dbfmt.c

    r2818 r3111  
    142142db_write_line (Obj *op, char lp[])
    143143{
    144         int priorpref;
    145 
    146         /* .edb format always uses MDY.
    147          * N.B. must restore old value before returning from here!
    148          */
    149         priorpref = pref_set (PREF_DATE_FORMAT, PREF_MDY);
    150 
    151144        switch (op->o_type) {
    152145        case FIXED:
     
    182175            abort();
    183176        }
    184 
    185         /* restore date format preference */
    186         (void) pref_set (PREF_DATE_FORMAT, priorpref);
    187177}
    188178
     
    836826            *lp++ = '|';
    837827            if (*sp)
    838                 lp += fs_date (lp, *sp);
     828                lp += fs_date (lp, PREF_MDY, *sp);
    839829            if (*ep) {
    840830                *lp++ = '|';
    841                 lp += fs_date (lp, *ep);
     831                lp += fs_date (lp, PREF_MDY, *ep);
    842832            }
    843833        }
     
    885875        lp += sprintf (lp, ",%.7g", op->e_M);
    886876        *lp++ = ',';
    887         lp += fs_date (lp, op->e_cepoch);
     877        lp += fs_date (lp, PREF_MDY, op->e_cepoch);
    888878        lp += get_okdates (lp, &op->e_startok, &op->e_endok);
    889879        *lp++ = ',';
    890         lp += fs_date (lp, op->e_epoch);
     880        lp += fs_date (lp, PREF_MDY, op->e_epoch);
    891881        if (op->e_mag.whichm == MAG_gk)
    892882            lp += sprintf (lp, ",g%.7g", op->e_mag.m1);
     
    904894        lp += sprintf (lp, "%s,h", op->o_name);
    905895        *lp++ = ',';
    906         lp += fs_date (lp, op->h_ep);
     896        lp += fs_date (lp, PREF_MDY, op->h_ep);
    907897        lp += get_okdates (lp, &op->h_startok, &op->h_endok);
    908898        lp += sprintf (lp, ",%.7g", op->h_inc);
     
    912902        lp += sprintf (lp, ",%.7g", op->h_qp);
    913903        *lp++ = ',';
    914         lp += fs_date (lp, op->h_epoch);
     904        lp += fs_date (lp, PREF_MDY, op->h_epoch);
    915905        lp += sprintf (lp, ",%.7g", op->h_g);
    916906        lp += sprintf (lp, ",%.7g", op->h_k);
     
    923913        lp += sprintf (lp, "%s,p", op->o_name);
    924914        *lp++ = ',';
    925         lp += fs_date (lp, op->p_ep);
     915        lp += fs_date (lp, PREF_MDY, op->p_ep);
    926916        lp += get_okdates (lp, &op->p_startok, &op->p_endok);
    927917        lp += sprintf (lp, ",%.7g", op->p_inc);
     
    930920        lp += sprintf (lp, ",%.7g", op->p_Om);
    931921        *lp++ = ',';
    932         lp += fs_date (lp, op->p_epoch);
     922        lp += fs_date (lp, PREF_MDY, op->p_epoch);
    933923        lp += sprintf (lp, ",%.7g", op->p_g);
    934924        lp += sprintf (lp, ",%.7g", op->p_k);
     
    941931        lp += sprintf (lp, "%s,E", op->o_name);
    942932        *lp++ = ',';
    943         lp += fs_date (lp, op->es_epoch);
     933        lp += fs_date (lp, PREF_MDY, op->es_epoch);
    944934        lp += get_okdates (lp, &op->es_startok, &op->es_endok);
    945935        lp += sprintf (lp, ",%.7g", op->es_inc);
     
    1006996
    1007997/* For RCS Only -- Do Not Edit */
    1008 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: dbfmt.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     998static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: dbfmt.c,v $ $Date: 2006-11-22 13:53:28 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/deep.c

    r2818 r3111  
    788788
    789789/* For RCS Only -- Do Not Edit */
    790 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: deep.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     790static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: deep.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/deepconst.h

    r2818 r3111  
    22#define _CONST_H
    33
    4 /* $Id: deepconst.h,v 1.5 2005-08-21 10:02:37 cmv Exp $ */
     4/* $Id: deepconst.h,v 1.6 2006-11-22 13:53:29 cmv Exp $ */
    55
    66
     
    3131
    3232/* For RCS Only -- Do Not Edit
    33  * @(#) $RCSfile: deepconst.h,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     33 * @(#) $RCSfile: deepconst.h,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    3434 */
  • trunk/SophyaExt/XephemAstroLib/deltat.c

    r2818 r3111  
    144144    /* 1999 USNO data 1998.0 thru 2000.0 (McBurnett) */
    145145     6297, 6347, 6383,
    146     /* 1999 extrapolation (McBurnett), 2001.0 thru 2006.0
    147        Ramp up to 1.6 s/yr to transition smoothly to Stevenson formula
    148        in 2130.0 */
    149      6440, 6510, 6600, 6750, 6900, 7060
     146    /* 1999 extrapolation (McBurnett), 2001.0 thru 2006.0 */
     147     /* 6440, 6510, 6600, 6750, 6900, 7060 */
     148     6409, 6430, 6447, 6507, 6578, 6610 /* ECD */
    150149
    151150    /* original 1997 USNO extrapolation (stern), 1998.0 thru 2004.0
     
    178177        Y = 2000.0 + (mj - J2000)/365.25;
    179178
    180         if( Y > TABEND  &&  Y < 2130.0 ) {
     179        if( Y > TABEND) {
    181180            /* linear interpolation from table end; stern */
    182181            B = Y - TABEND;
    183             ans = dt[TABSIZ-1] + B * (dt[TABSIZ-1]  - dt[TABSIZ-2]);
     182            ans = dt[TABSIZ-1] + B * (dt[TABSIZ-1]  - dt[TABSIZ-11])/10;
    184183            ans *= 0.01;
    185184            return(ans);
    186185        }
    187186
    188         if( Y < TABSTART  ||  Y >= 2130.0 ) {
    189             if( (Y >= 948.0 - 15.0  &&  Y < TABSTART) ||  Y >= 2130.0 ) {
     187        if( Y < TABSTART) {
     188            if( Y >= 948.0 - 15.0 ) {
    190189                /* Stephenson and Morrison, stated domain is 948 to 1600:
    191190                 * 25.5(centuries from 1800)^2 - 1.9159(centuries from 1955)^2
     
    304303
    305304/* For RCS Only -- Do Not Edit */
    306 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: deltat.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     305static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: deltat.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/earthsat.c

    r2818 r3111  
    784784
    785785/* For RCS Only -- Do Not Edit */
    786 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: earthsat.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     786static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: earthsat.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/eq_ecl.c

    r2818 r3111  
    7070
    7171/* For RCS Only -- Do Not Edit */
    72 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: eq_ecl.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     72static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: eq_ecl.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/eq_gal.c

    r2818 r3111  
    9797
    9898/* For RCS Only -- Do Not Edit */
    99 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: eq_gal.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     99static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: eq_gal.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/formats.c

    r2818 r3111  
    7777}
    7878
    79 /* put the given modified Julian date, jd, in out[] according to preference
    80  * format.
     79/* put the given modified Julian date, jd, in out[] according to the given
     80 * preference format.
    8181 * return number of characters written to out, not counting final '\0'.
    8282 */
    8383int
    84 fs_date (char out[], double jd)
    85 {
    86         int p = pref_get (PREF_DATE_FORMAT);
     84fs_date (char out[], int format, double jd)
     85{
    8786        char *out0 = out;
    8887        int m, y;
     
    9695            mjd_cal (mjd_day(jd+0.5), &m, &d, &y);
    9796
    98         switch (p) {
     97        switch (format) {
    9998        case PREF_YMD:
    10099            out += sprintf (out, "%4d/%02d/%02.6g", y, m, d);
     
    107106            break;
    108107        default:
    109             printf ("fs_date: bad date pref: %d\n", p);
     108            printf ("fs_date: bad date pref: %d\n", format);
    110109            abort();
    111110        }
     
    125124double *dp)             /* cracked value, if return 0 */
    126125{
    127         double a = 0, b = 0, c = 0;
    128         char str[128];
     126        double a, b, c;
     127        char str[256];
    129128        char *neg;
    130         int r;
     129        int isneg, r;
    131130
    132131        /* copy str0 so we can play with it */
     
    134133        str[sizeof(str)-1] = '\0';
    135134
     135        /* note first negative (but not fooled by neg exponent) */
     136        isneg = 0;
    136137        neg = strchr(str, '-');
    137         if (neg)
     138        if (neg && (neg == str || (neg[-1] != 'E' && neg[-1] != 'e'))) {
    138139            *neg = ' ';
     140            isneg = 1;
     141        }
     142
     143        /* crack up to three components */
     144        a = b = c = 0.0;
    139145        r = sscanf (str, "%lf%*[^0-9]%lf%*[^0-9]%lf", &a, &b, &c);
    140146        if (r < 1)
    141147            return (-1);
    142         *dp = a + b/60 + c/3600;
    143         if (neg)
     148
     149        /* back to one value, restoring neg */
     150        *dp = (c/60.0 + b)/60.0 + a;
     151        if (isneg)
    144152            *dp *= -1;
    145153        return (0);
     
    202210
    203211/* For RCS Only -- Do Not Edit */
    204 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: formats.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     212static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: formats.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/helio.c

    r2818 r3111  
    4949
    5050/* For RCS Only -- Do Not Edit */
    51 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: helio.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     51static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: helio.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/jupmoon.c

    r2818 r3111  
    44#include <stdlib.h>
    55#include <string.h>
     6#include <errno.h>
    67#include <math.h>
    78
     
    3132static double cmlIImjd; /*    "                      II      " */
    3233
    33 /* file containing BDL coefficients */
    34 static char jbdlfn[] = "jupiter.9910";
    35 
    3634/* These values are from the Explanatory Supplement.
    3735 * Precession degrades them gradually over time.
     
    134132        char buf[1024];
    135133        FILE *fp;
    136         int i;
    137 
    138         /* only valid 1999 through 2010 */
    139         if (JD < 2451179.50000 || JD >= 2455562.5)
     134        char *fn;
     135        int i;
     136
     137        /* check ranges and appropriate data file */
     138        if (JD < 2451179.50000)         /* Jan 1 1999 UTC */
     139            return (-1);
     140        if (JD < 2455562.5)             /* Jan 1 2011 UTC */
     141            fn = "jupiter.9910";
     142        else if (JD < 2459215.5)        /* Jan 1 2021 UTC */
     143            fn = "jupiter.1020";
     144        else
    140145            return (-1);
    141146
    142147        /* open */
    143         (void) sprintf (buf, "%s/%s", dir, jbdlfn);
     148        (void) sprintf (buf, "%s/%s", dir, fn);
    144149        fp = fopen (buf, "r");
    145         if (!fp)
    146             return (-1);
     150        if (!fp) {
     151            fprintf (stderr, "%s: %s\n", fn, strerror(errno));
     152            return (-1);
     153        }
    147154
    148155        /* use it */
    149156        if ((i = read_bdl (fp, JD, x, y, z, buf)) < 0) {
    150             fprintf (stderr, "%s: %s\n", jbdlfn, buf);
     157            fprintf (stderr, "%s: %s\n", fn, buf);
    151158            fclose (fp);
    152159            return (-1);
    153160        }
    154161        if (i != J_NMOONS-1) {
    155             fprintf (stderr, "%s: BDL says %d moons, code expects %d", jbdlfn,
     162            fprintf (stderr, "%s: BDL says %d moons, code expects %d", fn,
    156163                                                                i, J_NMOONS-1);
    157164            fclose (fp);
     
    382389
    383390/* For RCS Only -- Do Not Edit */
    384 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: jupmoon.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     391static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: jupmoon.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/libration.c

    r2818 r3111  
    22162216
    22172217/* For RCS Only -- Do Not Edit */
    2218 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: libration.c,v $ $Date: 2005-08-21 10:02:37 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     2218static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: libration.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/magdecl.c

    r2818 r3111  
    379379
    380380/* For RCS Only -- Do Not Edit */
    381 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: magdecl.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
     381static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: magdecl.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/marsmoon.c

    r2818 r3111  
    44#include <stdlib.h>
    55#include <string.h>
     6#include <errno.h>
    67#include <math.h>
    78
     
    2425};
    2526static double sizemjd;
    26 
    27 /* file containing BDL coefficients */
    28 static char mbdlfn[] = "mars.9910";
    2927
    3028/* These values are from the Explanatory Supplement.
     
    8785
    8886        /* get moon x,y,z from BDL if possible */
    89         if (dir && use_bdl (JD, dir, md) < 0) {
     87        if (!dir || use_bdl (JD, dir, md) < 0) {
    9088            int i;
    9189            for (i = 1; i < M_NMOONS; i++)
     
    122120        char buf[1024];
    123121        FILE *fp;
    124         int i;
    125 
    126         /* only valid 1999 through 2010 */
    127         if (JD < 2451179.50000 || JD >= 2455562.5)
     122        char *fn;
     123        int i;
     124
     125        /* check ranges and appropriate data file */
     126        if (JD < 2451179.50000)         /* Jan 1 1999 UTC */
     127            return (-1);
     128        if (JD < 2455562.5)             /* Jan 1 2011 UTC */
     129            fn = "mars.9910";
     130        else if (JD < 2459215.5)        /* Jan 1 2021 UTC */
     131            fn = "mars.1020";
     132        else
    128133            return (-1);
    129134
    130135        /* open */
    131         (void) sprintf (buf, "%s/%s", dir, mbdlfn);
     136        (void) sprintf (buf, "%s/%s", dir, fn);
    132137        fp = fopen (buf, "r");
    133         if (!fp)
    134             return (-1);
     138        if (!fp) {
     139            fprintf (stderr, "%s: %s\n", fn, strerror(errno));
     140            return (-1);
     141        }
    135142
    136143        /* use it */
    137144        if ((i = read_bdl (fp, JD, x, y, z, buf)) < 0) {
    138             fprintf (stderr, "%s: %s\n", mbdlfn, buf);
     145            fprintf (stderr, "%s: %s\n", fn, buf);
    139146            fclose (fp);
    140147            return (-1);
    141148        }
    142149        if (i != M_NMOONS-1) {
    143             fprintf (stderr, "%s: BDL says %d moons, code expects %d", mbdlfn,
     150            fprintf (stderr, "%s: BDL says %d moons, code expects %d", fn,
    144151                                                                i, M_NMOONS-1);
    145152            fclose (fp);
     
    256263
    257264/* For RCS Only -- Do Not Edit */
    258 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: marsmoon.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     265static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: marsmoon.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/misc.c

    r2818 r3111  
    501501
    502502/* For RCS Only -- Do Not Edit */
    503 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: misc.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     503static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: misc.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/mjd.c

    r2818 r3111  
    254254
    255255/* For RCS Only -- Do Not Edit */
    256 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: mjd.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     256static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: mjd.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/moon.c

    r2818 r3111  
    34653465
    34663466/* For RCS Only -- Do Not Edit */
    3467 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: moon.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     3467static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: moon.c,v $ $Date: 2006-11-22 13:53:29 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/mooncolong.c

    r2818 r3111  
    234234
    235235/* For RCS Only -- Do Not Edit */
    236 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: mooncolong.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     236static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: mooncolong.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/moonnf.c

    r2818 r3111  
    6767
    6868/* For RCS Only -- Do Not Edit */
    69 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: moonnf.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     69static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: moonnf.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/nutation.c

    r2818 r3111  
    439439
    440440/* For RCS Only -- Do Not Edit */
    441 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: nutation.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     441static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: nutation.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/obliq.c

    r2818 r3111  
    2525
    2626/* For RCS Only -- Do Not Edit */
    27 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: obliq.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     27static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: obliq.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/parallactic.c

    r2818 r3111  
    5252
    5353/* For RCS Only -- Do Not Edit */
    54 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: parallactic.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     54static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: parallactic.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/parallax.c

    r2818 r3111  
    4040
    4141/* For RCS Only -- Do Not Edit */
    42 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: parallax.c,v $ $Date: 2005-08-21 10:02:38 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     42static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: parallax.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/plans.c

    r2818 r3111  
    225225
    226226/* For RCS Only -- Do Not Edit */
    227 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: plans.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     227static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: plans.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/plshadow.c

    r2818 r3111  
    4848
    4949/* For RCS Only -- Do Not Edit */
    50 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: plshadow.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     50static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: plshadow.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/precess.c

    r2818 r3111  
    144144
    145145/* For RCS Only -- Do Not Edit */
    146 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: precess.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     146static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: precess.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/preferences.h

    r2818 r3111  
    2929
    3030/* For RCS Only -- Do Not Edit
    31  * @(#) $RCSfile: preferences.h,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     31 * @(#) $RCSfile: preferences.h,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    3232 */
  • trunk/SophyaExt/XephemAstroLib/reduce.c

    r2818 r3111  
    7676
    7777/* For RCS Only -- Do Not Edit */
    78 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: reduce.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     78static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: reduce.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/refract.c

    r2818 r3111  
    8989
    9090/* For RCS Only -- Do Not Edit */
    91 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: refract.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     91static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: refract.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/rings.c

    r2818 r3111  
    4343
    4444/* For RCS Only -- Do Not Edit */
    45 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: rings.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
     45static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: rings.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/riset.c

    r2818 r3111  
    9898
    9999/* For RCS Only -- Do Not Edit */
    100 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: riset.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     100static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: riset.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/riset_cir.c

    r2818 r3111  
    370370
    371371/* For RCS Only -- Do Not Edit */
    372 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: riset_cir.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     372static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: riset_cir.c,v $ $Date: 2006-11-22 13:53:30 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/satlib.h

    r2818 r3111  
    22#define __SATLIB_H
    33
    4 /* $Id: satlib.h,v 1.5 2005-08-21 10:02:39 cmv Exp $ */
     4/* $Id: satlib.h,v 1.6 2006-11-22 13:53:31 cmv Exp $ */
    55
    66typedef struct _SatElem {
     
    203203
    204204/* For RCS Only -- Do Not Edit
    205  * @(#) $RCSfile: satlib.h,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     205 * @(#) $RCSfile: satlib.h,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    206206 */
  • trunk/SophyaExt/XephemAstroLib/satmoon.c

    r2818 r3111  
    44#include <stdlib.h>
    55#include <string.h>
     6#include <errno.h>
    67#include <math.h>
    78
     
    3435static double stiltmjd;
    3536
    36 /* file containing BDL coefficients */
    37 static char sbdlfn[] = "saturne.9910";
    38 
    3937/* These values are from the Explanatory Supplement.
    4038 * Precession degrades them gradually over time.
     
    136134        char buf[1024];
    137135        FILE *fp;
     136        char *fn;
    138137        int i;
    139138
    140         /* only valid 1999 through 2010 */
    141         if (JD < 2451179.50000 || JD >= 2455562.5)
     139        /* check ranges and appropriate data file */
     140        if (JD < 2451179.50000)         /* Jan 1 1999 UTC */
    142141            return (-1);
     142        if (JD < 2455562.5)             /* Jan 1 2011 UTC */
     143            fn = "saturne.9910";
     144        else if (JD < 2459215.5)        /* Jan 1 2021 UTC */
     145            fn = "saturne.1020";
     146        else
     147            return (-1);
    143148
    144149        /* open */
    145         (void) sprintf (buf, "%s/%s", dir, sbdlfn);
     150        (void) sprintf (buf, "%s/%s", dir, fn);
    146151        fp = fopen (buf, "r");
    147         if (!fp)
     152        if (!fp) {
     153            fprintf (stderr, "%s: %s\n", fn, strerror(errno));
    148154            return (-1);
     155        }
    149156
    150157        /* use it */
    151158        if ((i = read_bdl (fp, JD, x, y, z, buf)) < 0) {
    152             fprintf (stderr, "%s: %s\n", sbdlfn, buf);
     159            fprintf (stderr, "%s: %s\n", fn, buf);
    153160            fclose (fp);
    154161            return (-1);
    155162        }
    156163        if (i != S_NMOONS-1) {
    157             fprintf (stderr, "%s: BDL says %d moons, code expects %d", sbdlfn,
     164            fprintf (stderr, "%s: BDL says %d moons, code expects %d", fn,
    158165                                                                i, S_NMOONS-1);
    159166            fclose (fp);
     
    501508
    502509/* For RCS Only -- Do Not Edit */
    503 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: satmoon.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     510static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: satmoon.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/satspec.h

    r2818 r3111  
    22#define __SATSPEC_H
    33
    4 /* $Id: satspec.h,v 1.5 2005-08-21 10:02:39 cmv Exp $ */
     4/* $Id: satspec.h,v 1.6 2006-11-22 13:53:31 cmv Exp $ */
    55
    66#include "sattypes.h"
     
    4040
    4141/* For RCS Only -- Do Not Edit
    42  * @(#) $RCSfile: satspec.h,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     42 * @(#) $RCSfile: satspec.h,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    4343 */
  • trunk/SophyaExt/XephemAstroLib/sattypes.h

    r2818 r3111  
    22#define __SATTYPES_H
    33
    4 /* $Id: sattypes.h,v 1.5 2005-08-21 10:02:39 cmv Exp $ */
     4/* $Id: sattypes.h,v 1.6 2006-11-22 13:53:31 cmv Exp $ */
    55
    66typedef struct _Vec3 {
     
    2525
    2626/* For RCS Only -- Do Not Edit
    27  * @(#) $RCSfile: sattypes.h,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     27 * @(#) $RCSfile: sattypes.h,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    2828 */
  • trunk/SophyaExt/XephemAstroLib/sdp4.c

    r2818 r3111  
    428428
    429429/* For RCS Only -- Do Not Edit */
    430 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sdp4.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     430static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sdp4.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/sgp4.c

    r2818 r3111  
    399399
    400400/* For RCS Only -- Do Not Edit */
    401 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sgp4.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     401static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sgp4.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/sphcart.c

    r2818 r3111  
    2525        double rho = x*x + y*y;
    2626
    27         if (rho > 1e-35) {      /* standard case: off axis */
     27        if (rho > 0) {  /* standard case: off axis */
    2828            *l = atan2(y, x);
    2929            range (l, 2*PI);
     
    4141
    4242/* For RCS Only -- Do Not Edit */
    43 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sphcart.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     43static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sphcart.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/sun.c

    r2818 r3111  
    4242
    4343/* For RCS Only -- Do Not Edit */
    44 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sun.c,v $ $Date: 2005-08-21 10:02:39 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     44static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: sun.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/thetag.c

    r2818 r3111  
    33#include "deepconst.h"
    44
    5 /* @(#) $Id: thetag.c,v 1.5 2005-08-21 10:02:40 cmv Exp $ */
     5/* @(#) $Id: thetag.c,v 1.6 2006-11-22 13:53:31 cmv Exp $ */
    66
    77
     
    8888
    8989/* For RCS Only -- Do Not Edit */
    90 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: thetag.c,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     90static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: thetag.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/twobody.c

    r2818 r3111  
    241241
    242242/* For RCS Only -- Do Not Edit */
    243 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: twobody.c,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
     243static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: twobody.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/umoon.c

    r2818 r3111  
    44#include <stdlib.h>
    55#include <string.h>
     6#include <errno.h>
    67#include <math.h>
    78
     
    2829static double sizemjd;  /* size at last mjd */
    2930
    30 /* file containing BDL coefficients */
    31 static char ubdlfn[] = "uranus.9910";
    32 
    3331/* These values are from the Explanatory Supplement.
    3432 * Precession degrades them gradually over time.
     
    9290
    9391        /* get moon x,y,z from BDL if possible */
    94         if (dir && use_bdl (JD, dir, md) < 0) {
     92        if (!dir || use_bdl (JD, dir, md) < 0) {
    9593            int i;
    9694            for (i = 1; i < U_NMOONS; i++)
     
    127125        char buf[1024];
    128126        FILE *fp;
    129         int i;
    130 
    131         /* only valid 1999 through 2010 */
    132         if (JD < 2451179.50000 || JD >= 2455562.5)
     127        char *fn;
     128        int i;
     129
     130        /* check ranges and appropriate data file */
     131        if (JD < 2451179.50000)         /* Jan 1 1999 UTC */
     132            return (-1);
     133        if (JD < 2455562.5)             /* Jan 1 2011 UTC */
     134            fn = "uranus.9910";
     135        else if (JD < 2459215.5)        /* Jan 1 2021 UTC */
     136            fn = "uranus.1020";
     137        else
    133138            return (-1);
    134139
    135140        /* open */
    136         (void) sprintf (buf, "%s/%s", dir, ubdlfn);
     141        (void) sprintf (buf, "%s/%s", dir, fn);
    137142        fp = fopen (buf, "r");
    138         if (!fp)
    139             return (-1);
     143        if (!fp) {
     144            fprintf (stderr, "%s: %s\n", fn, strerror(errno));
     145            return (-1);
     146        }
    140147
    141148        /* use it */
    142149        if ((i = read_bdl (fp, JD, x, y, z, buf)) < 0) {
    143             fprintf (stderr, "%s: %s\n", ubdlfn, buf);
     150            fprintf (stderr, "%s: %s\n", fn, buf);
    144151            fclose (fp);
    145152            return (-1);
    146153        }
    147154        if (i != U_NMOONS-1) {
    148             fprintf (stderr, "%s: BDL says %d moons, code expects %d", ubdlfn,
     155            fprintf (stderr, "%s: BDL says %d moons, code expects %d", fn,
    149156                                                                i, U_NMOONS-1);
    150157            fclose (fp);
     
    261268
    262269/* For RCS Only -- Do Not Edit */
    263 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: umoon.c,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
     270static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: umoon.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.4 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/utc_gst.c

    r2818 r3111  
    9393
    9494/* For RCS Only -- Do Not Edit */
    95 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: utc_gst.c,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     95static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: utc_gst.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/vector.h

    r2818 r3111  
    22#define __SATVECTOR_H
    33
    4 /* $Id: vector.h,v 1.5 2005-08-21 10:02:40 cmv Exp $ */
     4/* $Id: vector.h,v 1.6 2006-11-22 13:53:31 cmv Exp $ */
    55
    66#define dotp(A,B) ((A).x*(B).x+(A).y*(B).y+(A).z*(B).z)
     
    1616
    1717/* For RCS Only -- Do Not Edit
    18  * @(#) $RCSfile: vector.h,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     18 * @(#) $RCSfile: vector.h,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    1919 */
  • trunk/SophyaExt/XephemAstroLib/vsop87.c

    r2818 r3111  
    207207
    208208/* For RCS Only -- Do Not Edit */
    209 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: vsop87.c,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
     209static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: vsop87.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
  • trunk/SophyaExt/XephemAstroLib/vsop87.h

    r2818 r3111  
    9090
    9191/* For RCS Only -- Do Not Edit
    92  * @(#) $RCSfile: vsop87.h,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $
     92 * @(#) $RCSfile: vsop87.h,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $
    9393 */
  • trunk/SophyaExt/XephemAstroLib/vsop87_data.c

    r2818 r3111  
    69866986
    69876987/* For RCS Only -- Do Not Edit */
    6988 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: vsop87_data.c,v $ $Date: 2005-08-21 10:02:40 $ $Revision: 1.5 $ $Name: not supported by cvs2svn $"};
     6988static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: vsop87_data.c,v $ $Date: 2006-11-22 13:53:31 $ $Revision: 1.6 $ $Name: not supported by cvs2svn $"};
Note: See TracChangeset for help on using the changeset viewer.