Changeset 3477 in Sophya for trunk/SophyaExt/XephemAstroLib/riset_cir.c
- Timestamp:
- Mar 25, 2008, 6:45:21 PM (18 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/SophyaExt/XephemAstroLib/riset_cir.c
r3111 r3477 84 84 rp->rs_flags |= RS_RISERR; 85 85 break; 86 case -2: /* converged but not today */ /* FALLTHRU */ 86 case -2: /* converged but not today, err but give times anyway */ 87 rp->rs_risetm = n.n_mjd; 88 rp->rs_riseaz = o.s_az; 89 rp->rs_flags |= RS_NORISE; 90 break; 87 91 case -3: /* probably never up */ 88 rp->rs_flags |= RS_N ORISE;92 rp->rs_flags |= RS_NEVERUP; 89 93 break; 90 94 } … … 100 104 rp->rs_flags |= RS_SETERR; 101 105 break; 102 case -2: /* converged but not today */ /* FALLTHRU */ 106 case -2: /* converged but not today, err but give times anyway */ 107 rp->rs_settm = n.n_mjd; 108 rp->rs_setaz = o.s_az; 109 rp->rs_flags |= RS_NOSET; 110 break; 103 111 case -3: /* probably circumpolar */ 104 rp->rs_flags |= RS_ NOSET;112 rp->rs_flags |= RS_CIRCUMPOLAR; 105 113 break; 106 114 } … … 220 228 221 229 /* instead of transit, for satellites we find time of maximum 222 * altitude, if we know both the rise and set times and the former 223 * occurs before the latter. 230 * altitude, if we know both the rise and set times. 224 231 */ 225 if (rise && set && rp->rs_risetm < rp->rs_settm) {232 if (rise && set) { 226 233 double tt, al; 227 234 if (find_max (np, op, rp->rs_risetm, rp->rs_settm, &tt, &al) < 0) { … … 266 273 #define MAXPASSES 20 /* max iterations to try */ 267 274 #define FIRSTSTEP (1.0/60.0/24.0) /* first time step, days */ 275 #define MAXSTEP (1.0/24.0)/* max time step,days (to detect flat)*/ 268 276 269 277 double a0 = 0; … … 295 303 a0 = a1; 296 304 297 } while (++npasses < MAXPASSES && fabs(dt) > TMACC); 305 if (++npasses > MAXPASSES || fabs(dt) >= MAXSTEP) 306 return (-3); 307 308 } while (fabs(dt)>TMACC); 298 309 299 310 /* return codes */ 300 if (npasses == MAXPASSES)301 return (-3);302 311 return (fabs(mjdn-mjd) < .5 ? 0 : -2); 303 312 304 313 #undef MAXPASSES 305 314 #undef FIRSTSTEP 315 #undef MAXSTEP 306 316 } 307 317 … … 361 371 double *tp, double *alp) /* time of max altitude, and that altitude */ 362 372 { 373 /* want rise before set */ 374 while (ts < tr) 375 tr -= 1.0/op->es_n; 363 376 mjd = (ts + tr)/2; 364 377 if (obj_cir (np, op) < 0) … … 370 383 371 384 /* For RCS Only -- Do Not Edit */ 372 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: riset_cir.c,v $ $Date: 200 6-11-22 13:53:30 $ $Revision: 1.6$ $Name: not supported by cvs2svn $"};385 static char *rcsid[2] = {(char *)rcsid, "@(#) $RCSfile: riset_cir.c,v $ $Date: 2008-03-25 17:45:19 $ $Revision: 1.7 $ $Name: not supported by cvs2svn $"};
Note:
See TracChangeset
for help on using the changeset viewer.