wmail: fixed comparisons between signed and unsigned.
[dockapps.git] / wmmoonclock / src / CalcEphem.h
blobe2908edb5d2703a726f74aa0ab77e96ef9b83414
1 #define DegPerRad 57.29577951308232087680
2 #define RadPerDeg 0.01745329251994329576
3 #define FALSE 0
4 #define TRUE 1
7 typedef struct Vector {
8 double x;
9 double y;
10 double z;
11 } Vector;
14 typedef struct Position {
15 double x;
16 double y;
17 double z;
18 } Position;
21 typedef struct CTrans {
22 double UT; /* Universal Time (in decimal hours) */
23 int year; /* 2 digit year */
24 int month; /* 2 digit month of year */
25 int day; /* 2 digit day of month */
26 int doy; /* 3 digit Day Of Year */
27 int dow; /* 1 digit day of week */
28 char dowstr[80]; /* Day of week String (e.g. "Sun") */
29 double gmst; /* Greenwich Mean Sidereal Time (in radians) */
30 double eccentricity; /* Eccentricity of Earth-Sun orbit */
31 double epsilon; /* Obliquity of the ecliptic (in radians) */
32 double lambda_sun; /* Ecliptic Long. of Sun (in radians) */
33 double earth_sun_dist; /* Earth-Sun distance (in units of earth radii) */
34 double RA_sun; /* Right Ascention of Sun (in degrees) */
35 double DEC_sun; /* Declination of Sun (in degrees) */
36 Vector Sun; /* direction of Sun in GEI system (unit vector) */
37 Vector EcPole; /* direction of Ecliptic Pole in GEI system (unit vector) */
38 double psi; /* Geodipole tilt angle (in radians) */
39 double Dipole_Gcolat; /* Geographic colat of centered dipole axis (deg.) */
40 double Dipole_Glon; /* Geographic long. of centered dipole axis (deg.) */
42 double RA_moon; /* Right Ascention of Moon (in degrees) */
43 double DEC_moon; /* Declination of Moon (in degrees) */
44 double MoonPhase; /* The Phase of the Moon (in days) */
45 double MoonAge; /* Age of Moon in Days */
46 double EarthMoonDistance; /* Distance between the Earth and Moon (in earth-radii) */
47 double Glat; /* Geographic Latitude of Observer */
48 double Glon; /* Geographic Longitude of Observer */
49 double h_moon; /* Altitude of Moon (in degrees) */
50 double A_moon; /* Azimuth of Moon (in degrees) */
51 int Visible; /* Wether or not moon is above horizon */
52 } CTrans;
54 void CalcEphem(long int, double, CTrans*);
55 int DayofWeek(int, int, int, char*);
56 int DayofYear(int, int, int);