Beispiel #1
0
    def __init__(self):
        super(AstrometryEquatorial, self).__init__()
        self.add_param(
            p.AngleParameter(name="RAJ",
                             units="H:M:S",
                             description="Right ascension (J2000)",
                             aliases=["RAJ"]))

        self.add_param(
            p.AngleParameter(name="DECJ",
                             units="D:M:S",
                             description="Declination (J2000)",
                             aliases=["DECJ"]))

        self.add_param(
            p.floatParameter(name="PMRA",
                             units="mas/year",
                             value=0.0,
                             description="Proper motion in RA"))

        self.add_param(
            p.floatParameter(name="PMDEC",
                             units="mas/year",
                             value=0.0,
                             description="Proper motion in DEC"))
        self.set_special_params(['RAJ', 'DECJ', 'PMRA', 'PMDEC'])
Beispiel #2
0
    def __init__(self):
        super(Astrometry, self).__init__()

        self.add_param(p.AngleParameter(name="RAJ",
            units="H:M:S",
            description="Right ascension (J2000)",
            aliases=["RAJ"]))

        self.add_param(p.AngleParameter(name="DECJ",
            units="D:M:S",
            description="Declination (J2000)",
            aliases=["DECJ"]))

        self.add_param(p.MJDParameter(name="POSEPOCH",
            description="Reference epoch for position"))

        self.add_param(p.floatParameter(name="PMRA",
            units="mas/year", value=0.0,
            description="Proper motion in RA"))

        self.add_param(p.floatParameter(name="PMDEC",
            units="mas/year", value=0.0,
            description="Proper motion in DEC"))

        self.add_param(p.floatParameter(name="PX",
            units="mas", value=0.0,
            description="Parallax"))

        self.delay_funcs['L1'] += [self.solar_system_geometric_delay,]
Beispiel #3
0
    def __init__(self):
        super(AstrometryEcliptic, self).__init__()
        self.add_param(
            p.AngleParameter(name="ELONG",
                             units="deg",
                             description="Ecliptic longitude",
                             aliases=["LAMBDA"]))

        self.add_param(
            p.AngleParameter(name="ELAT",
                             units="deg",
                             description="Ecliptic latitude",
                             aliases=["BETA"]))

        self.add_param(
            p.floatParameter(name="PMELONG",
                             units="mas/year",
                             value=0.0,
                             description="Proper motion in ecliptic longitude",
                             aliases=["PMLAMBDA"]))

        self.add_param(
            p.floatParameter(name="PMELAT",
                             units="mas/year",
                             value=0.0,
                             description="Proper motion in ecliptic latitude",
                             aliases=["PMBETA"]))

        self.add_param(
            p.strParameter(name="ECL",
                           description="Obliquity angle value secetion"))

        self.set_special_params(['ELONG', 'ELAT', 'PMELONG', 'PMELAT'])
Beispiel #4
0
    def __init__(self):
        super(Dispersion, self).__init__()
        self.add_param(p.floatParameter(name="DM",
                       units="pc cm^-3", value=0.0,
                       description="Dispersion measure"))

        # DMX is for info output right now
        self.add_param(p.floatParameter(name="DMX",
                       units="pc cm^-3", value=0.0,
                       description="Dispersion measure"))
        self.add_param(p.prefixParameter(prefix='DMX_', indexformat='0000',
                       units="pc cm^-3", value=0.0,
                       unitTplt=lambda x: "pc cm^-3",
                       description='Dispersion measure variation',
                       descriptionTplt=lambda x: "Dispersion measure",
                       type_match='float'))
        self.add_param(p.prefixParameter(prefix='DMXR1_', indexformat='0000',
                       units="MJD",
                       value=time.Time(0.0, scale='utc', format='mjd'),
                       unitTplt=lambda x: "MJD",
                       description='Beginning of DMX interval',
                       descriptionTplt=lambda x: 'Beginning of DMX interval',
                       type_match='MJD', time_scale='utc'))
        self.add_param(p.prefixParameter(prefix='DMXR2_', indexformat='0000',
                       units="MJD",
                       value=time.Time(0.0, scale='utc', format='mjd'),
                       unitTplt=lambda x: "MJD",
                       description='End of DMX interval',
                       descriptionTplt=lambda x: 'End of DMX interval',
                       type_match='MJD', time_scale='utc'))

        self.delay_funcs['L1'] += [self.dispersion_delay]
Beispiel #5
0
 def __init__(self):
     super(DispersionDMX, self).__init__()
     # DMX is for info output right now
     self.add_param(p.floatParameter(name="DMX",
                    units="pc cm^-3", value=0.0,
                    description="Dispersion measure"))
     self.add_param(p.prefixParameter(prefix='DMX_', indexformat='0000',
                    units="pc cm^-3", value=0.0,
                    unitTplt=lambda x: "pc cm^-3",
                    description='Dispersion measure variation',
                    descriptionTplt=lambda x: "Dispersion measure",
                    type_match='float'))
     self.add_param(p.prefixParameter(prefix='DMXR1_', indexformat='0000',
                    units="MJD",
                    value=time.Time(0.0, scale='utc', format='mjd'),
                    unitTplt=lambda x: "MJD",
                    description='Beginning of DMX interval',
                    descriptionTplt=lambda x: 'Beginning of DMX interval',
                    type_match='MJD', time_scale='utc'))
     self.add_param(p.prefixParameter(prefix='DMXR2_', indexformat='0000',
                    units="MJD",
                    value=time.Time(0.0, scale='utc', format='mjd'),
                    unitTplt=lambda x: "MJD",
                    description='End of DMX interval',
                    descriptionTplt=lambda x: 'End of DMX interval',
                    type_match='MJD', time_scale='utc'))
     self.dm_value_funcs += [self.dmx_dm,]
     self.model_special_params = ['DMX_0001', 'DMXR1_0001','DMXR2_0001']
Beispiel #6
0
 def __init__(self):
     super(Dispersion, self).__init__()
     self.add_param(p.floatParameter(name="DM",
                    units="pc cm^-3", value=0.0,
                    description="Dispersion measure"))
     self.dm_value_funcs = [self.constant_dm,]
     self.delay_funcs['L1'] += [self.dispersion_delay,]
Beispiel #7
0
    def __init__(self):
        super(Spindown, self).__init__()

        # The number of terms in the taylor exapansion of spin freq (F0...FN)
        #self.num_spin_terms = maxderivs

        self.add_param(p.floatParameter(name="F0", value=0.0, units="Hz",
                       description="Spin-frequency", long_double=True))

        self.add_param(p.prefixParameter(name="F1", value=0.0, units='Hz/s^1',
                       description="Spindown-rate",
                       unitTplt=self.F_unit,
                       descriptionTplt=self.F_description,
                       type_match='float',long_double=True))

        self.add_param(p.MJDParameter(name="TZRMJD",
                       description="Reference epoch for phase = 0.0",
                       time_scale='tdb'))

        self.add_param(p.MJDParameter(name="PEPOCH",
                       description="Reference epoch for spin-down",
                       time_scale='tdb'))


        self.phase_funcs += [self.spindown_phase,]
Beispiel #8
0
    def __init__(self):
        super(BT, self).__init__()

        # TO DO: add commonly used parameters such as T90, TASC with clear,
        # documented usage.

        # Parameters are mostly defined as numpy doubles.
        # Some might become long doubles in the future.
        self.BinaryModelName = 'BT'
        self.add_param(p.floatParameter(name="PB",
            units="s",
            description="Orbital period"))

        self.add_param(p.floatParameter(name="A1",
            units="lt-s",
            description="Projected semi-major axis"))

        self.add_param(p.floatParameter(name="E",
            units="",
            aliases = ["ECC"],
            description="Eccentricity"))

        # Warning(paulr): This says the units on OM are deg (which is correct)
        # But then it converts the value to radians!
        # This may work OK in here, but when printing the value to a new
        # par file, it comes out wrong!
        self.add_param(p.AngleParameter(name="OM",
            units="deg",
            description="Longitude of periastron"))

        self.add_param(p.MJDParameter(name="T0",
            time_scale='tdb', description="Epoch of periastron passage"))

        self.add_param(p.floatParameter(name="PBDOT",
            units="s/s",
            description="First derivative of orbital period"))

        self.add_param(p.floatParameter(name="OMDOT",
            units="deg/yr",
            description="Periastron advance"))

        self.add_param(p.floatParameter(name="XDOT",
            units="s/s",
            description="Orbital spin-down rate"))

        self.add_param(p.floatParameter(name="EDOT",
            units="s^-1",
            description="Orbital spin-down rate"))

        self.add_param(p.floatParameter(name="GAMMA",
            units="s",
            description="Time dilation & gravitational redshift"))

        self.delay_funcs['L2'] += [self.BT_delay,]
Beispiel #9
0
    def __init__(self):
        super(BinaryBT, self).__init__()
        self.binary_model_name = 'BT'
        self.binary_model_class = BTmodel

        self.add_param(p.floatParameter(
            name="GAMMA",
            value=0.0,
            units="second",
            description="Time dilation & gravitational redshift"),
                       binary_param=True)
Beispiel #10
0
    def __init__(self):
        super(Astrometry, self).__init__()

        self.add_param(
            p.AngleParameter(name="RAJ",
                             units="H:M:S",
                             description="Right ascension (J2000)",
                             aliases=["RAJ"]))

        self.add_param(
            p.AngleParameter(name="DECJ",
                             units="D:M:S",
                             description="Declination (J2000)",
                             aliases=["DECJ"]))

        self.add_param(
            p.MJDParameter(name="POSEPOCH",
                           description="Reference epoch for position"))

        self.add_param(
            p.floatParameter(name="PMRA",
                             units="mas/year",
                             value=0.0,
                             description="Proper motion in RA"))

        self.add_param(
            p.floatParameter(name="PMDEC",
                             units="mas/year",
                             value=0.0,
                             description="Proper motion in DEC"))

        self.add_param(
            p.floatParameter(name="PX",
                             units="mas",
                             value=0.0,
                             description="Parallax"))

        self.delay_funcs['L1'] += [
            self.solar_system_geometric_delay,
        ]
Beispiel #11
0
    def __init__(self):
        super(BinaryELL1, self).__init__()
        self.binary_model_name = 'ELL1'
        self.binary_model_class = ELL1model

        self.add_param(p.MJDParameter(name="TASC",
                                      description="Epoch of ascending node",
                                      time_scale='tdb'),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="EPS1",
            units="",
            description=
            "First Laplace-Lagrange parameter, ECC x sin(OM) for ELL1 model",
            long_double=True),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="EPS2",
            units="",
            description=
            "Second Laplace-Lagrange parameter, ECC x cos(OM) for ELL1 model",
            long_double=True),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="EPS1DOT",
            units="1e-12/s",
            description="First derivative of first Laplace-Lagrange parameter",
            long_double=True),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="EPS2DOT",
            units="1e-12/s",
            description="Second derivative of first Laplace-Lagrange parameter",
            long_double=True),
                       binary_param=True)
Beispiel #12
0
    def __init__(self):
        super(Astrometry, self).__init__()
        self.add_param(
            p.MJDParameter(name="POSEPOCH",
                           description="Reference epoch for position"))

        self.add_param(
            p.floatParameter(name="PX",
                             units="mas",
                             value=0.0,
                             description="Parallax"))

        self.delay_funcs['L1'] += [
            self.solar_system_geometric_delay,
        ]
Beispiel #13
0
    def __init__(self, ):
        super(DDwrapper, self).__init__()
        self.BinaryModelName = 'DD'

        self.add_param(p.floatParameter(
            name="A0",
            units="s",
            description="DD model aberration parameter A0"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="B0",
            units="s",
            description="DD model aberration parameter B0",
        ),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="GAMMA",
            units="second",
            description="Binary Einsten delay GAMMA term"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="DR",
            units="",
            description="Relativistic deformation of the orbit"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="DTH",
            units="",
            description="Relativistic deformation of the orbit",
        ),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="SINI", units="", description="Sine of inclination angle"),
                       binary_param=True)

        self.binary_delay_funcs += [
            self.DD_delay,
        ]
        self.delay_funcs['L2'] += [
            self.DD_delay,
        ]
Beispiel #14
0
    def __init__(self):
        super(Spindown, self).__init__()

        # The number of terms in the taylor exapansion of spin freq (F0...FN)
        #self.num_spin_terms = maxderivs

        self.add_param(
            p.floatParameter(name="F0",
                             value=0.0,
                             units="Hz",
                             description="Spin-frequency",
                             long_double=True))

        self.add_param(
            p.prefixParameter(name="F1",
                              value=0.0,
                              units='Hz/s^1',
                              description="Spindown-rate",
                              unitTplt=self.F_unit,
                              descriptionTplt=self.F_description,
                              type_match='float',
                              long_double=True))

        self.add_param(
            p.MJDParameter(name="TZRMJD",
                           description="Reference epoch for phase = 0.0",
                           time_scale='tdb'))

        self.add_param(
            p.MJDParameter(name="PEPOCH",
                           description="Reference epoch for spin-down",
                           time_scale='tdb'))

        self.phase_funcs += [
            self.spindown_phase,
        ]
Beispiel #15
0
    def __init__(self,):
        super(DDwrapper, self).__init__()
        self.BinaryModelName = 'DD'

        self.add_param(p.floatParameter(name="A0",
             units="s",
             description="DD model aberration parameter A0"),
             binary_param = True)

        self.add_param(p.floatParameter(name="B0",
             units="s",
             description="DD model aberration parameter B0",),
             binary_param = True)

        self.add_param(p.floatParameter(name="GAMMA",
             units="second",
             description="Binary Einsten delay GAMMA term"),
             binary_param = True)

        self.add_param(p.floatParameter(name="DR",
             units="",
             description="Relativistic deformation of the orbit"),
             binary_param = True)

        self.add_param(p.floatParameter(name="DTH",
             units="",
             description="Relativistic deformation of the orbit",),
             binary_param = True)


        self.add_param(p.floatParameter(name="SINI",
             units="",
             description="Sine of inclination angle"),
             binary_param = True)

        self.binary_delay_funcs += [self.DD_delay,]
        self.delay_funcs['L2'] += [self.DD_delay,]
Beispiel #16
0
    def __init__(self):
        super(BT, self).__init__()

        # TO DO: add commonly used parameters such as T90, TASC with clear,
        # documented usage.

        # Parameters are mostly defined as numpy doubles.
        # Some might become long doubles in the future.
        self.BinaryModelName = 'BT'
        self.add_param(
            p.floatParameter(name="PB",
                             units="s",
                             description="Orbital period"))

        self.add_param(
            p.floatParameter(name="A1",
                             units="lt-s",
                             description="Projected semi-major axis"))

        self.add_param(
            p.floatParameter(name="E",
                             units="",
                             aliases=["ECC"],
                             description="Eccentricity"))

        # Warning(paulr): This says the units on OM are deg (which is correct)
        # But then it converts the value to radians!
        # This may work OK in here, but when printing the value to a new
        # par file, it comes out wrong!
        self.add_param(
            p.AngleParameter(name="OM",
                             units="deg",
                             description="Longitude of periastron"))

        self.add_param(
            p.MJDParameter(name="T0",
                           time_scale='tdb',
                           description="Epoch of periastron passage"))

        self.add_param(
            p.floatParameter(name="PBDOT",
                             units="s/s",
                             description="First derivative of orbital period"))

        self.add_param(
            p.floatParameter(name="OMDOT",
                             units="deg/yr",
                             description="Periastron advance"))

        self.add_param(
            p.floatParameter(name="XDOT",
                             units="s/s",
                             description="Orbital spin-down rate"))

        self.add_param(
            p.floatParameter(name="EDOT",
                             units="s^-1",
                             description="Orbital spin-down rate"))

        self.add_param(
            p.floatParameter(
                name="GAMMA",
                units="s",
                description="Time dilation & gravitational redshift"))

        self.delay_funcs['L2'] += [
            self.BT_delay,
        ]
Beispiel #17
0
    def __init__(self, ):
        super(PulsarBinary, self).__init__()
        self.binary_model_name = None
        self.barycentric_time = None
        self.binary_model_class = None
        self.binary_delay_funcs = []
        self.binary_params = []
        self.add_param(p.floatParameter(name="PB",
                                        units=u.day,
                                        description="Orbital period"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="PBDOT",
            units=1e-12 * u.day / u.day,
            description="Orbital period derivitve respect to time"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="A1",
            units=ls,
            description="Projected semi-major axis, a*sin(i)"),
                       binary_param=True)
        # NOTE: the DOT here takes the value and times 1e-12, tempo/tempo2 can
        # take both.
        self.add_param(p.floatParameter(
            name="A1DOT",
            aliases=['XDOT'],
            units=1e-12 * ls / u.s,
            description="Derivitve of projected semi-major axis, da*sin(i)/dt"
        ),
                       binary_param=True)

        self.add_param(p.floatParameter(name="ECC",
                                        units="",
                                        aliases=["E"],
                                        description="Eccentricity"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="EDOT",
            units="1e-12/s",
            description="Eccentricity derivitve respect to time"),
                       binary_param=True)

        self.add_param(p.MJDParameter(
            name="T0",
            description="Epoch of periastron passage",
            time_scale='tdb'),
                       binary_param=True)

        self.add_param(p.floatParameter(name="OM",
                                        units=u.deg,
                                        description="Longitude of periastron",
                                        longdouble=True),
                       binary_param=True)

        self.add_param(p.floatParameter(name="OMDOT",
                                        units="deg/year",
                                        description="Longitude of periastron",
                                        longdouble=True),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="M2",
            units=u.M_sun,
            description="Mass of companian in the unit Sun mass"),
                       binary_param=True)

        self.add_param(p.floatParameter(
            name="SINI",
            value=0.0,
            units="",
            description="Sine of inclination angle"),
                       binary_param=True)

        # Set up delay function
        self.binary_delay_funcs += [
            self.binarymodel_delay,
        ]
        self.delay_funcs['L2'] += [
            self.binarymodel_delay,
        ]
Beispiel #18
0
    def __init__(self,):
        super(PSRbinaryWapper, self).__init__()
        self.BinaryModelName = None
        self.barycentricTime = None
        self.binary_delay_funcs= []
        self.binary_params = []
        self.add_param(p.floatParameter(name="PB",
            units=u.day,
            description="Orbital period"),
            binary_param = True)


        self.add_param(p.floatParameter(name="PBDOT",
            units=u.day/u.day,
            description="Orbital period derivitve respect to time"),
            binary_param = True)


        self.add_param(p.floatParameter(name="XPBDOT",
            units=u.s/u.s,
            description="Rate of change of orbital period minus GR prediction"),
            binary_param = True)


        self.add_param(p.floatParameter(name="A1",
            units=ls,
            description="Projected semi-major axis, a*sin(i)"),
            binary_param = True)

        self.add_param(p.floatParameter(name = "A1DOT",
            units=ls/u.s,
            description="Derivitve of projected semi-major axis, da*sin(i)/dt"),
            binary_param = True)

        self.add_param(p.floatParameter(name="ECC",
            units="",
            aliases = ["E"],
            description="Eccentricity"),
            binary_param = True)

        self.add_param(p.floatParameter(name="EDOT",
             units="1/s",
             description="Eccentricity derivitve respect to time"),
             binary_param = True)

        self.add_param(p.MJDParameter(name="T0",
            description="Epoch of periastron passage", time_scale='tdb'),
            binary_param = True)

        self.add_param(p.floatParameter(name="OM",
            units=u.deg,
            description="Longitude of periastron"),
            binary_param = True)

        self.add_param(p.floatParameter(name="OMDOT",
            units="deg/year",
            description="Longitude of periastron"),
            binary_param = True)

        self.add_param(p.floatParameter(name="M2",
             units=u.M_sun,
             description="Mass of companian in the unit Sun mass"),
             binary_param = True)