Ignore:
Timestamp:
Jun 15, 2004, 6:54:12 PM (21 years ago)
Author:
cmv
Message:

nouvelle version de xephem/libastro (3.6) cmv 15/6/04

File:
1 edited

Legend:

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

    r1719 r2551  
    6262 */
    6363
     64#include <stdlib.h>
     65#include <stdio.h>
    6466#include <math.h>
    65 #if defined(__STDC__)
    66 #include <stdlib.h>
    67 #endif
    68 
    69 #include "P_.h"
     67
    7068#include "astro.h"
    7169
     
    8684};
    8785
    88 static double mods3600 P_((double x));
    89 static void mean_elements P_((double JED));
    90 static int sscc P_((int k, double arg, int n));
    91 static int g2plan P_((double J, struct plantbl *plan, double *pobj, int flag));
    92 static double g1plan P_((double J, struct plantbl *plan));
    93 static int gecmoon P_((double J, struct plantbl *lrtab,
    94         struct plantbl *lattab, double *pobj));
     86static double mods3600 (double x);
     87static void mean_elements (double JED);
     88static int sscc (int k, double arg, int n);
     89static int g2plan (double J, struct plantbl *plan, double *pobj, int flag);
     90static double g1plan (double J, struct plantbl *plan);
     91static int gecmoon (double J, struct plantbl *lrtab,
     92        struct plantbl *lattab, double *pobj);
    9593
    9694/* time points */
     
    103101static double Args[NARGS];
    104102static double LP_equinox;
    105 static double NF_arcsec;
    106103static double Ea_arcsec;
    107104static double pA_precession;
     
    28322829   answer in arc seconds  */
    28332830static double
    2834 mods3600(x)
    2835      double x;
     2831mods3600(double x)
    28362832{
    28372833  double y;
     
    28482844
    28492845static void
    2850 mean_elements (JED)
    2851      double JED;
     2846mean_elements (double JED)
    28522847{
    28532848  double x, T, T2;
     
    29322927              - 7.5311878482337989e-04) * T /* F, t^3 */
    29332928             - 1.3117809789650071e+01) * T2; /* F, t^2 */
    2934   NF_arcsec = x;
    29352929  Args[10] = x;
    29362930
     
    30083002 */
    30093003static int
    3010 sscc (k, arg, n)
    3011      int k;
    3012      double arg;
    3013      int n;
     3004sscc (int k, double arg, int n)
    30143005{
    30153006  double cu, su, cv, sv, s;
     
    30403031   of the same list of arguments.  */
    30413032static int
    3042 g2plan (J, plan, pobj, flag)
    3043      double J;
    3044      struct plantbl *plan;
    3045      double pobj[];
    3046      int flag;
     3033g2plan (double J, struct plantbl *plan, double pobj[], int flag)
    30473034{
    30483035  int i, j, k, m, k1, ip, np, nt;
     
    31683155
    31693156static double
    3170 g1plan (J, plan)
    3171      double J;
    3172      struct plantbl *plan;
     3157g1plan (double J, struct plantbl *plan)
    31733158{
    31743159  int i, j, k, m, k1, ip, np, nt;
     
    32713256 */
    32723257static int
    3273 gecmoon (J, lrtab, lattab, pobj)
    3274      double J;
    3275      struct plantbl *lrtab, *lattab;
    3276      double pobj[];
     3258gecmoon (double J, struct plantbl *lrtab, struct plantbl *lattab, double pobj[])
    32773259{
    32783260  double x;
     
    32943276/*********** end stephen moshier's moon code ****************/
    32953277
    3296 static void moon_fast P_((double mjd, double *lam, double *bet,
    3297         double *hp, double *msp, double *mdp));
     3278static void moon_fast (double mj, double *lam, double *bet,
     3279        double *hp, double *msp, double *mdp);
    32983280
    32993281/* previous version (elwood):
     
    33093291 */
    33103292static void
    3311 moon_fast (mjd, lam, bet, hp, msp, mdp)
    3312 double mjd;
    3313 double *lam, *bet, *hp;
    3314 double *msp, *mdp;
     3293moon_fast (double mj, double *lam, double *bet, double *hp, double *msp,
     3294double *mdp)
    33153295{
    33163296        double t, t2;
     
    33243304        double m1, m2, m3, m4, m5, m6;
    33253305
    3326         t = mjd/36525.;
     3306        t = mj/36525.;
    33273307        t2 = t*t;
    33283308
    3329         m1 = mjd/27.32158213;
     3309        m1 = mj/27.32158213;
    33303310        m1 = 360.0*(m1-(long)m1);
    3331         m2 = mjd/365.2596407;
     3311        m2 = mj/365.2596407;
    33323312        m2 = 360.0*(m2-(long)m2);
    3333         m3 = mjd/27.55455094;
     3313        m3 = mj/27.55455094;
    33343314        m3 = 360.0*(m3-(long)m3);
    3335         m4 = mjd/29.53058868;
     3315        m4 = mj/29.53058868;
    33363316        m4 = 360.0*(m4-(long)m4);
    3337         m5 = mjd/27.21222039;
     3317        m5 = mj/27.21222039;
    33383318        m5 = 360.0*(m5-(long)m5);
    3339         m6 = mjd/6798.363307;
     3319        m6 = mj/6798.363307;
    33403320        m6 = 360.0*(m6-(long)m6);
    33413321
     
    34563436 */
    34573437void
    3458 moon (mjd, lam, bet, rho, msp, mdp)
    3459 double mjd;
    3460 double *lam, *bet, *rho;
    3461 double *msp, *mdp;
     3438moon (double mj, double *lam, double *bet, double *rho, double *msp,
     3439double *mdp)
    34623440{
    34633441        double pobj[3], dt;
    34643442        double hp;
    34653443
    3466         if (mjd >= MOSHIER_BEGIN && mjd <= MOSHIER_END) {
     3444        if (mj >= MOSHIER_BEGIN && mj <= MOSHIER_END) {
    34673445                /* retard for light time */
    3468                 moon_fast (mjd, lam, bet, &hp, msp, mdp);
     3446                moon_fast (mj, lam, bet, &hp, msp, mdp);
    34693447                *rho = EarthRadius/AUKM/sin(hp);
    34703448                dt = *rho * 5.7755183e-3;       /* speed of light in a.u/day */
    3471                 gecmoon(mjd + MJD0 - dt, &moonlr, &moonlat, pobj);
     3449                gecmoon(mj + MJD0 - dt, &moonlr, &moonlat, pobj);
    34723450
    34733451                *lam = pobj[0];
     
    34783456                *mdp = STR * Args[12];
    34793457        } else {
    3480                 moon_fast (mjd, lam, bet, &hp, msp, mdp);
     3458                moon_fast (mj, lam, bet, &hp, msp, mdp);
    34813459                *rho = EarthRadius/AUKM/sin(hp);
    34823460
     
    34853463
    34863464/* For RCS Only -- Do Not Edit */
    3487 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: moon.c,v $ $Date: 2001-10-22 12:08:27 $ $Revision: 1.2 $ $Name: not supported by cvs2svn $"};
     3465static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: moon.c,v $ $Date: 2004-06-15 16:52:39 $ $Revision: 1.3 $ $Name: not supported by cvs2svn $"};
Note: See TracChangeset for help on using the changeset viewer.