3 char* herefile = "/lib/sky/here";
6 main(int argc, char *argv[])
17 fmtinstall('R', Rconv);
18 fmtinstall('D', Dconv);
29 if(flags['p'] || flags['e']) {
35 for(i=0; i<=NPTS+1; i++) {
38 for(j=0; objlst[j]; j++) {
40 setobj(&objlst[j]->point[i]);
43 if(strcmp(objlst[j]->name, "Comet"))
45 output(objlst[j]->name, &objlst[j]->point[i]);
49 d = dist(&eobj1->point[i], &eobj2->point[i]);
50 print("dist %s to %s = %.4f\n", eobj1->name, eobj2->name, d);
58 if(flags['p'] || flags['e'])
62 if(!(flags['p'] || flags['e']))
72 args(int argc, char *argv[])
79 memset(flags, 0, sizeof(flags));
82 fprint(2, "astro [-adeklmopst] [-c nperiod] [-C tperiod]\n");
102 for(i=0; q=objlst[i]; i++) {
103 if(strcmp(q->name, p) == 0)
105 if(strcmp(q->name1, p) == 0)
110 for(i=0; q=objlst[i]; i++) {
111 if(strcmp(q->name, p) == 0)
113 if(strcmp(q->name1, p) == 0)
122 fprint(2, "cant recognize eclipse objects\n");
139 fprint(2, "usage: astro [-dlpsatokm] [-c nday] [-e obj1 obj2]\n");
144 day = t/86400. + 25567.5;
148 print("jday = %.4f\n", day);
149 deltat = day * .001704;
150 if(deltat > 32.184) // assume date is utc1
151 deltat = 32.184; // correct by leap sec
156 fprint(2, "nlat wlong elev\n");
159 f = open(herefile, OREAD);
161 fprint(2, "%s?\n", herefile);
163 nlat = (40 + 41.06/60)*radian;
164 awlong = (74 + 23.98/60)*radian;
165 elev = 150 * 3.28084;
179 fprint(2, "year mo da hr min\n");
182 t.ifa[i] = atof(skip(i));
190 fprint(2, "ΔT (sec) (%.3f)\n", deltat);
192 return atof(skip(0));
196 etdate(long year, int mo, double day)
205 return convdate(&t) + 2415020;
213 nlat = atof(skip(0)) * radian;
214 awlong = atof(skip(1)) * radian;
215 elev = atof(skip(2)) * 3.28084;
219 fmod(double a, double b)
221 return a - floor(a/b)*b;