def deorbit_events(events, parameter_file=None): events = copy.deepcopy(events) if parameter_file is None: return events pepoch = events.gti[0, 0] pepoch_mjd = pepoch / 86400 + events.mjdref length = np.max(events.time) - np.min(events.time) length_d = length / 86400 results = get_orbital_correction_from_ephemeris_file( pepoch_mjd - 1, pepoch_mjd + length_d + 1, parameter_file, ntimes=int(length // 10)) orbital_correction_fun = results[0] events.time = orbital_correction_fun(events.time, mjdref=events.mjdref) return events
def test_orbit_from_parfile(self): import pint.toa as toa parfile = os.path.join(self.datadir, 'example_pint.par') timfile = os.path.join(self.datadir, 'example_pint.tim') toas = toa.get_TOAs(timfile, ephem="DE405", planets=False, include_bipm=False) mjds = np.array([m.value for m in toas.get_mjds(high_precision=True)]) mjdstart, mjdstop = mjds[0] - 1, mjds[-1] + 1 correction_sec, correction_mjd = \ get_orbital_correction_from_ephemeris_file(mjdstart, mjdstop, parfile, ntimes=1000) mjdref = 50000 toa_sec = (mjds - mjdref) * 86400 corr = correction_mjd(mjds) corr_s = correction_sec (toa_sec, mjdref) assert np.allclose(corr, corr_s / 86400 + mjdref)
def deorbit_events(events, parameter_file=None): events = copy.deepcopy(events) if parameter_file is None: return events elif not os.path.exists(parameter_file): warnings.warn("Parameter file {} does not exist".format(parameter_file)) return events pepoch = events.gti[0, 0] pepoch_mjd = pepoch / 86400 + events.mjdref if events.mjdref < 10000: logging.warning("MJDREF is very low. Are you sure everything is " "correct?") length = np.max(events.time) - np.min(events.time) length_d = length / 86400 results = get_orbital_correction_from_ephemeris_file(pepoch_mjd - 1, pepoch_mjd + length_d + 1, parameter_file, ntimes=int(length // 10)) orbital_correction_fun = results[0] events.time = orbital_correction_fun(events.time, mjdref=events.mjdref) return events
def test_orbit_from_parfile_raises(self): print("Doesn't have pint") with pytest.raises(ImportError): get_orbital_correction_from_ephemeris_file(0, 0, parfile='ciaociao')
def test_orbit_from_parfile_raises(self): print("Doesn't have pint") with pytest.raises(ImportError): get_orbital_correction_from_ephemeris_file(0, 0, parfile='ciaociao')