~ubuntu-branches/ubuntu/oneiric/gkrellmoon/oneiric

« back to all changes in this revision

Viewing changes to CalcEphem.h

  • Committer: Bazaar Package Importer
  • Author(s): Martin Zobel-Helas
  • Date: 2004-11-19 22:55:21 UTC
  • Revision ID: james.westby@ubuntu.com-20041119225521-pmuy6kl327g5wevc
Tags: upstream-0.6
ImportĀ upstreamĀ versionĀ 0.6

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef CALC_EPHEM_H
 
2
#define CALC_EPHEM_H
 
3
/* (C) Mike Henderson <mghenderson@lanl.gov>.
 
4
 *
 
5
 * I've added function prototypes, a couple of data to the CTrans
 
6
 * structure, converted standard data types to their glib counterparts
 
7
 * (as compared to original wmMoonClock code), and piped the whole
 
8
 * thing through indent.
 
9
 *
 
10
 * josh buhl <jbuhl@users.sourceforge.net> 
 
11
 */
 
12
 
 
13
#include <glib.h>
 
14
 
 
15
#include <stdio.h>
 
16
#include <math.h>
 
17
 
 
18
#define DegPerRad       57.29577951308232087680
 
19
#define RadPerDeg        0.01745329251994329576
 
20
 
 
21
 
 
22
typedef struct Vector {
 
23
        gdouble x;
 
24
        gdouble y;
 
25
        gdouble z;
 
26
} Vector;
 
27
 
 
28
 
 
29
typedef struct Position {
 
30
        gdouble x;
 
31
        gdouble y;
 
32
        gdouble z;
 
33
} Position;
 
34
 
 
35
 
 
36
typedef struct CTrans {
 
37
        gdouble UT;             /* Universal Time (in decimal hours) */
 
38
        gint year;              /* 2 digit year */
 
39
        gint month;             /* 2 digit month of year */
 
40
        gint day;               /* 2 digit day of month */
 
41
        gint doy;               /* 3 digit Day Of Year */
 
42
        gint dow;               /* 1 digit day of week */
 
43
        gchar dowstr[80];       /* Day of week String (e.g. "Sun") */
 
44
        gdouble gmst;           /* Greenwich Mean Sidereal Time */
 
45
        gdouble eccentricity;   /* Eccentricity of Earth-Sun orbit */
 
46
        gdouble epsilon;        /* Obliquity of the ecliptic (in radians) */
 
47
        gdouble lambda_sun;     /* Ecliptic Long. of Sun (in radians) */
 
48
        gdouble earth_sun_dist; /* Earth-Sun distance (in units of earth radii) */
 
49
        gdouble RA_sun;         /* Right Ascention of Sun (in degrees) */
 
50
        gdouble DEC_sun;        /* Declination of Sun (in degrees) */
 
51
        Vector Sun;             /* direction of Sun in GEI system (unit vector) */
 
52
        Vector EcPole;          /* direction of Ecliptic Pole in GEI system (unit vector) */
 
53
        gdouble psi;            /* Geodipole tilt angle (in radians) */
 
54
        gdouble Dipole_Gcolat;  /* Geographic colat of centered dipole axis (deg.) */
 
55
        gdouble Dipole_Glon;    /* Geographic long. of centered dipole axis (deg.) */
 
56
 
 
57
        gdouble RA_moon;        /* Right Ascention of Moon (in degrees) */
 
58
        gdouble DEC_moon;       /* Declination of Moon (in degrees) */
 
59
        gdouble MoonPhase;      /* The Phase of the Moon (in days) */
 
60
        gdouble MoonAge;        /* Age of Moon in Days */
 
61
        gdouble EarthMoonDistance;      /* Distance between the Earth and Moon (in earth-radii) */
 
62
        gdouble Glat;           /* Geographic Latitude of Observer */
 
63
        gdouble Glon;           /* Geographic Longitude of Observer */
 
64
        gdouble h_moon;         /* Altitude of Moon (in degrees) */
 
65
        gdouble A_moon;         /* Azimuth of Moon (in degrees) */
 
66
        gint Visible;           /* Whether or not moon is above horizon */
 
67
 
 
68
        /* Additional Data for glunarclock */
 
69
        gdouble SinGlat;        /* data calc. in CalcEphem, used in MoonRise */
 
70
        gdouble CosGlat;        /* data calc. in CalcEphem, used in MoonRise */
 
71
 
 
72
        gdouble LAT;            /* Local Apparent Time (sundial time) */
 
73
        gdouble LMT;            /* Local Mean Time (eqn of time corrected LAT) */
 
74
        gdouble LST;            /* Local Standard Time */
 
75
        /* end additional data */
 
76
} CTrans;
 
77
 
 
78
 
 
79
void CalcEphem(glong date, gdouble UT, CTrans * c);
 
80
gdouble jd(gint ny, gint nm, gint nd, gdouble UT);
 
81
gdouble hour24(gdouble hour);
 
82
gdouble angle2pi(gdouble angle);
 
83
 
 
84
#endif                          /* CALC_EPHEM_H */