The Timing & Noise Model
The pulsar timing & noise model (a.k.a. pulsar ephemeris) is a generative mathematical model for the TOA measurements and uncertainties (and the DM measurements & uncertainties in the wideband paradigm). The timing residuals are the differences between measured TOAs and the TOAs predicted by the timing model. See Hobbs+ 2006 and Edwards+ 2006 for details.
The physical and instrumental effects that affect one TOA at a time are represented as Components, and the effects that are correlated across multiple TOAs are modeled as a Kernel.
Vela.Component — Type
ComponentAbstract base type of all timing & noise model components which affect one TOA at a time.
Each component has a correct_toa() method which produces a TOA correction.
Vela.correct_toa — Function
correct_toa(::Component, ::TOABase, ::TOACorrectionBase, ::NamedTuple)Correct the TOA using a delay, phase, observing frequency shift, uncertainty scaling, doppler factor, etc.
Kernels will be discussed in its own section.
TOA corrections
A TOA correction as mentioned above can be one or more of the following:
- A delay that modifies the TOA value
- A phase correction that modifies the TOA phase
- A Doppler correction that modifies the observing frequency and the pulsar spin frequency
- An EFAC or EQUAD that modifies the TOA uncertainty
- A DM correction that modifies the wideband DM measurement
- A DMEFAC or DMEQUAD that modifies the wideband DM uncertainty
The accumlated TOA corrections are represented by the TOACorrection and WidebandTOACorrection types, which are derived from TOACorrectionBase.
Vela.TOACorrectionBase — Type
TOACorrectionBaseAn abstract base class representing accumulated timing & noise model corrections applied to a TOA.
Vela.TOACorrection — Type
TOACorrectionThe accumulated timing & noise model corrections applied to a narrowband TOA.
Vela.WidebandTOACorrection — Type
WidebandTOACorrectionThe accumulated timing & noise model corrections applied to a wideband TOA.
The following methods extract some of the corrected quantities of interest.
Vela.corrected_toa_value — Function
TOA value after delay correction.
Vela.doppler_corrected_observing_frequency — Function
Observing frequency in the barycentric or pulsar frame, depending on the correction level. The observing_frequency is originally in the topocentric frame.
Vela.doppler_shifted_spin_frequency — Function
doppler_shifted_spin_frequency(::TOACorrection)Spin frequency in topocentric or barycentric frame, depending on the correction level. The spin_frequency is originally in the pulsar frame.
Vela.scaled_toa_error_sqr — Function
scaled_toa_error_sqr(toa::TOA, toacorr::TOACorrection)Squared TOA uncertainty after applying EFAC and EQUAD.
Vela.scaled_dm_error_sqr — Function
scaled_dm_error_sqr(::DMInfo, ::DMInfoCorrection)Squared DM uncertainty after applying DMEFAC and DMEQUAD.
Vela.phase_residual — Function
phase_residual(::TOA, ::TOACorrection)TOA phase residual
Vela.dm_residual — Function
dm_residual(::DMInfo, ::DMInfoCorrection)Compute DM residual corresponding to a wideband TOA.
There are three types of Components as shown below based on what type of corrections they provide.
Component
├─ DelayComponent
│ ⋮
│
├─ MarginalizedTimingModel
├─ PhaseComponent
│ ⋮
│
└─ WhiteNoiseComponent
⋮
Delay components
DelayComponents correct the measured TOA by subtracting certain delays.
Vela.DelayComponent — Type
DelayComponentAbstract base type of all timing model components which contribute a time delay correction to a TOA.
DelayComponent has further subtypes which represent different physical processes producing delays.
DelayComponent
├─ BinaryComponent
│ ⋮
│
├─ ChromaticComponent
│ ⋮
│
├─ DispersionComponent
│ ⋮
│
├─ FrequencyDependentBase
│ ⋮
│
├─ RedNoiseBase
│ ⋮
│
└─ SolarSystem
Solar system delays
Vela.SolarSystem — Type
Solar system Rømer delay, Parallax delay, and Shapiro delay.
Corresponds to AstrometryEquatorial, AstrometryEcliptic, and SolarSystemShapiro in PINT.
Reference: Edwards+ 2006
In addition to a delay, SolarSystem also producess a Doppler correction which applies to the observing frequency and the pulsar spin frequency.
This component barycenters the TOA. It will skip TOAs that are already barycentered, e.g., TOAs measured using space-based telescopes. The is_barycentered() function checks whether a TOA has been barycentered.
Vela.is_barycentered — Function
is_barycentered(::TOA)::BoolChecks if a TOA has been barycentered.
Dispersion delays
DispersionComponents represent the dispersion of the radio waves due to the free electrons present along the line of sight to the pulsar. This may include the ionized interstellar medium as well as solar wind.
Vela.DispersionComponent — Type
DispersionComponentAbstrct base type of all timing model components which provide a dispersion measure correction.
DispersionComponents provide a delay and a DM correction (for wideband TOAs), which are related by the equation $\Delta_{\text{DM}} = K * \text{DM} / \nu^2$. The dispersion correction is computed via the dispersion_slope() function.
Vela.dispersion_slope — Function
dispersion_slope(::DispersionComponent, ::TOA, ::TOACorrection, ::NamedTuple)Compute the dispersion slope corresponding to a TOA.
The DispersionComponents available in Vela.jl are
DispersionComponent
├─ DispersionNoiseBase
│ ├─ DMWaveX
│ └─ PowerlawDispersionNoiseGP
├─ DispersionPiecewise
├─ DispersionTaylor
├─ SolarWind
│ └─ SolarWindDispersion
├─ DispersionJumpBase
│ ├─ DispersionJump
│ └─ ExclusiveDispersionJump
└─ DispersionOffsetBase
├─ DispersionOffset
└─ ExclusiveDispersionOffset
The most basic DispersionComponent is DispersionTaylor.
Vela.DispersionTaylor — Type
DispersionTaylorTaylor series representation of the dispersion measure.
Corresponds to DispersionDM in PINT.
Reference: Backer & Hellings 1986
DMWaveX and PowerlawDispersionNoiseGP provide two representations of the dispersion noise / stochastic DM variations.
Vela.DMWaveX — Type
DMWaveXAn unconstrained Fourier series representation of the dispersion noise. Corresponds to the DMWaveX component in PINT.
Reference: Susobhanan+ 2024
Vela.PowerlawDispersionNoiseGP — Type
PowerlawDispersionNoiseGPA Fourier series Gaussian process representation of the dispersion noise where the power spectral density is assumed to be a power law. Corresponds to PLDMNoise in PINT.
Reference: Lentati+ 2014, van Haasteren & Vallisneri 2014
See also Red noise models.
SolarWindDispersion is a simple model for solar wind dispersion.
Vela.SolarWindDispersion — Type
SolarWindDispersionSolar wind model assuming a spherically symmetric distribution of electrons which falls off as an inverse-square function of the distance from the Sun. Corresponds to the SolarWindDispersion model in PINT.
Reference: Edwards+ 2006
Alternatively, DM variations can be modeled as a simple piecewise-constant function using DMX parameters. This is available through the DispersionPiecewise component.
Vela.DispersionPiecewise — Type
DispersionPiecewisePiecewise-constant representation of the dispersion measure.
Corresponds to DispersionDMX in PINT. Overlapping DMX ranges are not supported.
Reference: Arzoumanian+ 2015
DispersionJump and DispersionOffset represent two types of system-dependent dispersion offsets.
Vela.DispersionOffset — Type
DispersionOffsetSystem-dependent DM offsets (FDJUMPDM) with non-exclusive selection masks. Corresponds to FDJumpDM in PINT.
Reference: Susobhanan+ 2024
Vela.DispersionJump — Type
DispersionJumpSystem-dependent wideband DM offsets (DMJUMP) with non-exclusive selection masks.
Unlike an FDJUMPDM, a DMJUMP only provides a DM correction and no delay. Corresponds to DispersionJump in PINT.
Reference: Alam+ 2021
Chromatic delays
Chromatic delays are similar to dispersion delays, but have a different powerlaw dependence on the observing frequency. Such delays can occur due to interstellar scattering or frequency-dependent dispersion. A chromatic delay is given by $\Delta_{\text{CM}} = K * \text{CM} / \nu^\alpha$ where CM is called the chromatic measure, and $\alpha$ is called the chromatic index. The effect of chromatic effects on wideband TOAs is not well-understood.
ChromaticComponent
├─ ChromaticPiecewise
├─ ChromaticTaylor
└─ ChromaticNoiseBase
├─ CMWaveX
└─ PowerlawChromaticNoiseGP
Vela.ChromaticTaylor — Type
ChromaticTaylorTaylor series representation of the chromatic measure.
Corresponds to ChromaticCM in PINT.
Vela.CMWaveX — Type
CMWaveXA Fourier series representation of the variable-index chromatic red noise. Corresponds to the CMWaveX component in PINT.
Reference: Susobhanan+ 2024
Vela.PowerlawChromaticNoiseGP — Type
PowerlawDispersionNoiseGPA Fourier series Gaussian process representation of the chromatic noise where the power spectral density is assumed to be a power law. Corresponds to PLChromNoise in PINT.
Reference: Lentati+ 2014, van Haasteren & Vallisneri 2014
See also Red noise models.
Chromatic variations can also be modeled as a simple piecewise-constant function using CMX parameters. This is available through the ChromaticPiecewise component.
Vela.ChromaticPiecewise — Type
Piecewise-constant representation of the chromatic measure with a constant chromatic index.
Corresponds to ChromaticCMX in PINT. Does not support overlapping ranges.
Binary delays
Similar to solar system delays, the binary motion of the pulsar also introduces various delays to the TOAs, including Rømer delay, Shapiro delay, and Einstein delay.
Vela.BinaryComponent — Type
BinaryComponentAbstract base type of all binary components.
Different binary models are used based on the properties of the binary orbit.
BinaryComponent
├─ BinaryDDBase
│ ├─ BinaryDD
│ ├─ BinaryDDH
│ ├─ BinaryDDK
│ └─ BinaryDDS
└─ BinaryELL1Base
├─ BinaryELL1
├─ BinaryELL1H
└─ BinaryELL1k
Vela.jl has two families of binary models. The ELL1 family is used for nearly circular binaries and the DD family is used for eccentric orbits. The different models are characterized by their treatment of Shapiro delay, Kopeikin corrections, etc.
Vela.BinaryDD — Type
Vela.BinaryDDH — Type
BinaryDDHThe Damour & Deruelle model for eccentric binaries with orthometric parametrization of the Shapiro delay. Used for low to moderate inclination binaries.
References: Damour & Deruelle 1986, Freire & Wex 2010, Weisberg & Huang 2016
Vela.BinaryDDK — Type
BinaryDDKThe Damour & Deruelle model for eccentric binaries with Kopeikin corrections included, which account for the apparent changes in the orbital elements due to proper motion and parallax.
References: Damour & Deruelle 1986, Kopeikin 1995, Kopeikin 1996
Vela.BinaryDDS — Type
BinaryDDSThe Damour & Deruelle model for eccentric binaries with an alternative parametrization of Shapiro delay applicable to almost edge-on orbits.
References: Damour & Deruelle 1986, Kramer+ 2006, Rafikov & Lai 2006
Vela.BinaryELL1 — Type
Vela.BinaryELL1H — Type
BinaryELL1HA binary model representing a nearly circular orbit with orthometric parametrization of the Shapiro delay. The Shapiro delay computed in this model does not include the Fourier components that are fully covariant with the Rømer delay.
Reference: Lange+ 2001, Freire & Wex 2010
Vela.BinaryELL1k — Type
BinaryELL1kA binary model representing a nearly circular orbit with large advance of periapsis. The difference between this model and ELL1 is that this model features an exact treatment of advance of periapsis whereas ELL1 uses a linear approximation.
Reference: Susobhanan+ 2018
Frequency-dependent delays
Unmodeled frequency-dependent profile evolution can manifest as frequency-dependent delays in narrowband TOAs. These are taken care during timing using certain phenomenological models listed below.
Vela.FrequencyDependent — Type
FrequencyDependentA frequency-dependent delay to account for frequency-dependent profile evolution. Corresponds to FD in PINT.
Reference: Arzoumanian+ 2015
Vela.FrequencyDependentJump — Type
FrequencyDependentJumpA system- & frequency-dependent delay to account for frequency-dependent profile evolution. This is useful while combining TOAs generated by different experiments with different TOA measurement procedures. Corresponds to FDJump in PINT.
Reference: Susobhanan+ 2024
Spin noise
Rotational irregularities of the pulsar causes stochastic modulations on the TOAs. We represent these modulations as a Fourier series in time.
Vela.WaveX — Type
WaveXAn unconstrained Fourier series representation of the achromatic red noise. Corresponds to the WaveX component in PINT.
Reference: Susobhanan+ 2024
Vela.PowerlawRedNoiseGP — Type
PowerlawRedNoiseGPA Fourier series Gaussian process representation of the achromatic red noise where the power spectral density is assumed to be a power law. Corresponds to PLRedNoise in PINT.
Reference: Lentati+ 2014, van Haasteren & Vallisneri 2014
See also Red noise models.
Phase components
A PhaseComponent contributes to the phase computation from a delay-corrected TOA.
Vela.PhaseComponent — Type
PhaseComponentAbstract base type of all timing model components which contribute a phase correction to a TOA.
The hierarchy of PhaseComponents is given below.
PhaseComponent
├─ Glitch
├─ PhaseOffset
├─ Spindown
└─ PhaseJumpBase
├─ ExclusivePhaseJump
└─ PhaseJump
Vela.Spindown — Type
SpindownRotation or the pulsar represented as a Taylor series in spin frequency. Corresponds to Spindown in PINT.
Reference: Backer & Hellings 1986
Vela.Glitch — Type
GlitchGlitches in pulsar rotation. Corresponds to Glitch in PINT.
Reference: Hobbs+ 2006, Haskell & Melatos 2015
Vela.PhaseOffset — Type
Phase offset between measured TOAs and the TZR TOA. Corresponds to PhaseOffset in PINT.
Reference: Susobhanan+ 2024
Vela.PhaseJump — Type
PhaseJumpSystem-dependent phase jumps with non-exclusive selection masks. Corresponds to PhaseJump in PINT.
Reference: Hobbs+ 2006
White noise components
These components modify the TOA or DM uncertainty in some manner.
WhiteNoiseComponent
├─ DispersionMeasurementNoise
└─ MeasurementNoise
Vela.MeasurementNoise — Type
MeasurementNoiseModifications to the measured TOA uncertainties: EFACs (error factors) and EQUADs (errors added in quadrature). Assumes that the EFACs & EQUADs are exclusive. Corresponds to ScaleToaErrors in PINT.
Reference: Lentati+ 2014
Vela.DispersionMeasurementNoise — Type
DispersionMeasurementNoiseModifications to the measured wideband DM uncertainties: DMEFACs and DMEQUADs. Assumes that the DMEFACs & DMEQUADs are exclusive. Corresponds to ScaleDmErrors in PINT.
Reference: Alam+ 2021
Order of components
It should be noted that the action of different Components do not commute in general. Therefore, they must be applied in the correct order to get sensible results. The order followed by Vela.jl is roughly as follows:
- Delay corrections a. Solar system effects b. Interstellar medium effects c. Pulsar binary effects
- Phase computation a. Pulsar rotational effects
- Uncertainty corrections a. Measurement noise corrections
The TZR TOA
The pulse phases are measured with respect to a fictitious fiducial TOA called the TZR TOA (TZR stands for t_zero). This is represented using a TOA object, but is distinguished from physical TOAs using the tzr attribute. The make_tzr_toa() function creates a TZR TOA and the is_tzr() function checks whether a TOA is a TZR TOA. A TZR TOA is always narrowband.
Vela.make_tzr_toa — Function
make_tzr_toa(tzrtdb::GQ{Double64}, tzrfreq::GQ{Float64}, tzrephem::SolarSystemEphemeris)::TOACreate a TZR TOA object.
Vela.is_tzr — Function
is_tzr(::TOA)::BoolChecks if a TOA is a TZR TOA.
The TimingModel type
A timing & noise model is represented by the TimingModel type.
Vela.TimingModel — Type
TimingModelThe pulsar timing & noise model. Supports both narrowband and wideband timing. Corresponds to TimingModel in PINT.
References: Edwards+ 2006, Lentati+ 2014, Alam+ 2021
It has the following contents:
- Pulsar name (PSR), solar system ephemeris name (EPHEM), name of the TT timescale realization (CLOCK), etc.
- An ordered collection of
Components - A
Kernel - A TZR
TOA - A
ParamHandlercontaining information about model parameters. - An ordered collection of
Priors for each free parameter
These are explained in the following sections.