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 Component
s, and the effects that are correlated across multiple TOA
s are modeled as a Kernel
.
Vela.Component
— TypeComponent
Abstract 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
— Functioncorrect_toa(::Component, ::TOABase, ::TOACorrectionBase, ::NamedTuple)
Correct the TOA using a delay, phase, observing frequency shift, uncertainty scaling, doppler factor, etc.
Kernel
s 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
— TypeTOACorrectionBase
An abstract base class representing accumulated timing & noise model corrections applied to a TOA.
Vela.TOACorrection
— TypeTOACorrection
The accumulated timing & noise model corrections applied to a narrowband TOA.
Vela.WidebandTOACorrection
— TypeWidebandTOACorrection
The 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
— FunctionTOA value after delay correction.
Vela.doppler_corrected_observing_frequency
— FunctionObserving 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
— Functiondoppler_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
— Functionscaled_toa_error_sqr(toa::TOA, toacorr::TOACorrection)
Squared TOA uncertainty after applying EFAC and EQUAD.
Vela.scaled_dm_error_sqr
— Functionscaled_dm_error_sqr(::DMInfo, ::DMInfoCorrection)
Squared DM uncertainty after applying DMEFAC and DMEQUAD.
Vela.phase_residual
— Functionphase_residual(::TOA, ::TOACorrection)
TOA phase residual
Vela.dm_residual
— Functiondm_residual(::DMInfo, ::DMInfoCorrection)
Compute DM residual corresponding to a wideband TOA.
There are three types of Component
s as shown below based on what type of corrections they provide.
Component
├─ DelayComponent
│ ⋮
│
├─ PhaseComponent
│ ⋮
│
└─ WhiteNoiseComponent
⋮
Delay components
DelayComponent
s correct the measured TOA by subtracting certain delays.
Vela.DelayComponent
— TypeDelayComponent
Abstract 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
— TypeSolar 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
— Functionis_barycentered(::TOA)::Bool
Checks if a TOA has been barycentered.
Dispersion delays
DispersionComponent
s 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
— TypeDispersionComponent
Abstrct base type of all timing model components which provide a dispersion measure correction.
DispersionComponent
s 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
— Functiondispersion_slope(::DispersionComponent, ::TOA, ::TOACorrection, ::NamedTuple)
Compute the dispersion slope corresponding to a TOA.
The DispersionComponent
s 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
— TypeDispersionTaylor
Taylor 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
— TypeDMWaveX
An unconstrained Fourier series representation of the dispersion noise. Corresponds to the DMWaveX
component in PINT
.
Reference: Susobhanan+ 2024
Vela.PowerlawDispersionNoiseGP
— TypePowerlawDispersionNoiseGP
A 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
See also Red noise models.
SolarWindDispersion
is a simple model for solar wind dispersion.
Vela.SolarWindDispersion
— TypeSolarWindDispersion
Solar 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
— TypeDispersionPiecewise
Piecewise-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
— TypeDispersionOffset
System-dependent DM offsets (FDJUMPDM
) with non-exclusive selection masks. Corresponds to FDJumpDM
in PINT
.
Reference: Susobhanan+ 2024
Vela.DispersionJump
— TypeDispersionJump
System-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
— TypeChromaticTaylor
Taylor series representation of the chromatic measure.
Corresponds to ChromaticCM
in PINT
.
Vela.CMWaveX
— TypeCMWaveX
A Fourier series representation of the variable-index chromatic red noise. Corresponds to the CMWaveX
component in PINT
.
Reference: Susobhanan+ 2024
Vela.PowerlawChromaticNoiseGP
— TypePowerlawDispersionNoiseGP
A 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
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
— TypePiecewise-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
— TypeBinaryComponent
Abstract 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
— TypeVela.BinaryDDH
— TypeBinaryDDH
The 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
— TypeBinaryDDK
The 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
— TypeBinaryDDS
The 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
— TypeVela.BinaryELL1H
— TypeBinaryELL1H
A 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
— TypeBinaryELL1k
A 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
— TypeFrequencyDependent
A frequency-dependent delay to account for frequency-dependent profile evolution. Corresponds to FD
in PINT
.
Reference: Arzoumanian+ 2015
Vela.FrequencyDependentJump
— TypeFrequencyDependentJump
A 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
— TypeWaveX
An unconstrained Fourier series representation of the achromatic red noise. Corresponds to the WaveX
component in PINT
.
Reference: Susobhanan+ 2024
Vela.PowerlawRedNoiseGP
— TypePowerlawRedNoiseGP
A 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
See also Red noise models.
Phase components
A PhaseComponent
contributes to the phase computation from a delay-corrected TOA.
Vela.PhaseComponent
— TypePhaseComponent
Abstract base type of all timing model components which contribute a phase correction to a TOA.
The hierarchy of PhaseComponent
s is given below.
PhaseComponent
├─ Glitch
├─ PhaseOffset
├─ Spindown
└─ PhaseJumpBase
├─ ExclusivePhaseJump
└─ PhaseJump
Vela.Spindown
— TypeSpindown
Rotation or the pulsar represented as a Taylor series in spin frequency. Corresponds to Spindown
in PINT
.
Reference: Backer & Hellings 1986
Vela.Glitch
— TypeGlitch
Glitches in pulsar rotation. Corresponds to Glitch
in PINT
.
Reference: Hobbs+ 2006, Haskell & Melatos 2015
Vela.PhaseOffset
— TypePhase offset between measured TOAs and the TZR TOA. Corresponds to PhaseOffset
in PINT
.
Reference: Susobhanan+ 2024
Vela.PhaseJump
— TypePhaseJump
System-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
— TypeMeasurementNoise
Modifications 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
— TypeDispersionMeasurementNoise
Modifications 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
— Functionmake_tzr_toa(tzrtdb::GQ{Double64}, tzrfreq::GQ{Float64}, tzrephem::SolarSystemEphemeris)::TOA
Create a TZR TOA object.
Vela.is_tzr
— Functionis_tzr(::TOA)::Bool
Checks if a TOA is a TZR TOA.
The TimingModel
type
A timing & noise model is represented by the TimingModel
type.
Vela.TimingModel
— TypeTimingModel
The 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
ParamHandler
containing information about model parameters. - An ordered collection of
Prior
s for each free parameter
These are explained in the following sections.