68 #define NEWMOONS "newmoons"
73 int nm_yr, nm_mon, nm_day, nm_hr, nm_min;
74 int last_nm_yr, last_nm_mon, last_nm_day, last_nm_hr, last_nm_min;
75 double mjd, nm_mjd, last_nm_mjd;
82 if((fp = fopen(nmfile,
"r")) == NULL)
84 st_fail(
"getMoonAge(): Can't open %s", nmfile);
91 mjd =
getmjd(yr, mon, day, hr, min);
93 while(fscanf(fp,
"%d %d %d %d %d", &nm_yr, &nm_mon, &nm_day, &nm_hr, &nm_min) != EOF)
95 if((nm_mjd =
getmjd(nm_yr, nm_mon, nm_day, nm_hr, nm_min)) > mjd)
102 last_nm_mon = nm_mon;
103 last_nm_day = nm_day;
105 last_nm_min = nm_min;
106 last_nm_mjd = nm_mjd;
115 st_fail(
"getMoonAge(): no prior new moons listed in %s", nmfile);
119 last_nm_mjd =
getmjd(last_nm_yr, last_nm_mon, last_nm_day, last_nm_hr, last_nm_min);
121 if (nm_mjd == last_nm_mjd)
123 st_fail(
"getMoonAge(): %s is out of date", nmfile);
126 return(mjd - last_nm_mjd);
double getMoonAge(int yr, int mon, int day, int hr, int min)
double getmjd(int yr, int mon, int day, int hr, int min)