Пример #1
0
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
Пример #2
0
    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)
Пример #3
0
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
Пример #4
0
 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')
Пример #5
0
 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')