jaxpint.delay#
Delay components for JaxPINT timing models.
- class jaxpint.delay.AstrometryEcliptic(elong_name='ELONG', elat_name='ELAT', pmelong_name=None, pmelat_name=None, px_name=None, posepoch_name=None, obliquity_arcsec=84381.406)[source]#
Bases:
DelayComponentGeometric delay for ecliptic sky coordinates.
Computes the same Roemer + parallax delay as
AstrometryEquatorial, but the pulsar position is specified in ecliptic coordinates (ELONG/ELAT) which are rotated to ICRS before the delay computation.- Parameters:
elong_name (
str) – Names of ecliptic longitude/latitude parameters in theParameterVector(radians).elat_name (
str) – Names of ecliptic longitude/latitude parameters in theParameterVector(radians).pmelong_name (
strorNone) – Names of proper-motion parameters (mas/yr).Nonedisables PM.pmelat_name (
strorNone) – Names of proper-motion parameters (mas/yr).Nonedisables PM.px_name (
strorNone) – Name of the parallax parameter (mas).Nonedisables parallax.posepoch_name (
strorNone) – Epoch parameter for proper-motion reference. Required when PM is active; ignored otherwise.obliquity_arcsec (
float) – Obliquity of the ecliptic in arcseconds (e.g. 84381.406 for IERS2010). Resolved from the ECL parameter at bridge time.
- class jaxpint.delay.AstrometryEquatorial(raj_name='RAJ', decj_name='DECJ', pmra_name=None, pmdec_name=None, px_name=None, posepoch_name=None)[source]#
Bases:
DelayComponentGeometric delay for equatorial (ICRS) sky coordinates.
- Parameters:
raj_name (
str) – Names of the RA/DEC parameters in theParameterVector(radians).decj_name (
str) – Names of the RA/DEC parameters in theParameterVector(radians).pmra_name (
strorNone) – Names of proper-motion parameters (mas/yr).Nonedisables PM.pmdec_name (
strorNone) – Names of proper-motion parameters (mas/yr).Nonedisables PM.px_name (
strorNone) – Name of the parallax parameter (mas).Nonedisables parallax.posepoch_name (
strorNone) – Epoch parameter for proper-motion reference. Required when PM is active; ignored otherwise.
- class jaxpint.delay.CMWaveX(n_components, cmwxfreq_names, cmwxsin_names, cmwxcos_names, cmwxepoch_name='CMWXEPOCH', tnchromidx_name='TNCHROMIDX')[source]#
Bases:
DelayComponentFourier-basis chromatic noise (CMWaveX).
- Parameters:
n_components (
int) – Number of Fourier components.cmwxepoch_name (
str) – Name of the reference epoch parameter.cmwxfreq_names (
tuple[str,]) – Names of the frequency parameters (1/day).cmwxsin_names (
tuple[str,]) – Names of the sine amplitude parameters (cmu).cmwxcos_names (
tuple[str,]) – Names of the cosine amplitude parameters (cmu).tnchromidx_name (
str) – Name of the chromatic index parameter.
- Raises:
ValueError – If
n_componentsis less than 1.ValueError – If the length of
cmwxfreq_names,cmwxsin_names, orcmwxcos_namesdoes not matchn_components.
- class jaxpint.delay.ChromaticCM(cm_param_names, cmepoch_name='CMEPOCH', tnchromidx_name='TNCHROMIDX')[source]#
Bases:
DelayComponentChromatic measure delay using a Taylor expansion about CMEPOCH.
- Parameters:
cm_param_names (
tuple[str,]) – Names of the CM Taylor coefficients, ordered by derivative index. E.g.("CM",)for constant CM, or("CM", "CM1", "CM2").cmepoch_name (
str) – Name of the reference-epoch parameter (default"CMEPOCH").tnchromidx_name (
str) – Name of the chromatic index parameter (default"TNCHROMIDX").
- Raises:
ValueError – If no CM terms are provided (
cm_param_namesis empty).
- class jaxpint.delay.ChromaticCMX(n_bins, cmx_names, cmxr1_names, cmxr2_names, tnchromidx_name='TNCHROMIDX')[source]#
Bases:
DelayComponentPiecewise-constant chromatic measure delay (CMX model).
- Parameters:
n_bins (
int) – Number of CMX bins.cmx_names (
tuple[str,]) – Names of CMX value parameters, e.g.("CMX_0001", "CMX_0002").cmxr1_names (
tuple[str,]) – Names of bin-start MJD epoch parameters.cmxr2_names (
tuple[str,]) – Names of bin-end MJD epoch parameters.tnchromidx_name (
str) – Name of the chromatic index parameter (default"TNCHROMIDX").
- Raises:
ValueError – If
n_binsis less than 1.ValueError – If the length of
cmx_names,cmxr1_names, orcmxr2_namesdoes not matchn_bins.
- class jaxpint.delay.DMWaveX(n_components, dmwxfreq_names, dmwxsin_names, dmwxcos_names, dmwxepoch_name='DMWXEPOCH')[source]#
Bases:
DispersionDelayComponentFourier-basis DM noise (DMWaveX).
- Parameters:
n_components (
int) – Number of Fourier components.dmwxepoch_name (
str) – Name of the reference epoch parameter.dmwxfreq_names (
tuple[str,]) – Names of the frequency parameters (1/day).dmwxsin_names (
tuple[str,]) – Names of the sine amplitude parameters (pc cm^-3).dmwxcos_names (
tuple[str,]) – Names of the cosine amplitude parameters (pc cm^-3).
- Raises:
ValueError – If
n_componentsis less than 1.ValueError – If the length of
dmwxfreq_names,dmwxsin_names, ordmwxcos_namesdoes not matchn_components.
- compute_dm(toa_data, params, delay)[source]#
Compute DM as a Fourier sum about DMWXEPOCH.
- Parameters:
toa_data (
TOAData) – Pre-extracted TOA data (TDB times for dt from DMWXEPOCH).params (
ParameterVector) – Timing-model parameters containing DMWXFREQ, DMWXSIN, DMWXCOS, and DMWXEPOCH values.delay (
array,shape (n_toas,)) – Accumulated signal delay in seconds (unused by this method).
- Returns:
Fourier-basis DM in pc cm^-3 at each TOA.
- Return type:
array,shape (n_toas,)
- class jaxpint.delay.DispersionDM(dm_param_names, dmepoch_name='DMEPOCH')[source]#
Bases:
DispersionDelayComponentDM dispersion delay using a Taylor expansion about DMEPOCH.
- Parameters:
dm_param_names (
tuple[str,]) – Names of the DM Taylor coefficients in theParameterVector, ordered by derivative index. E.g.("DM",)for constant DM, or("DM", "DM1", "DM2")for a second-order expansion.dmepoch_name (
str) – Name of the reference-epoch parameter (default"DMEPOCH").
- Raises:
ValueError – If no DM terms are provided (
dm_param_namesis empty).ValueError – If the first DM term is not
'DM'.
- compute_dm(toa_data, params, delay)[source]#
Evaluate the DM Taylor expansion at each TOA.
- Parameters:
toa_data (
TOAData) – Pre-extracted TOA data (TDB times used for dt from DMEPOCH).params (
ParameterVector) – Timing-model parameters containing DM, DM1, …, and DMEPOCH.delay (
array,shape (n_toas,)) – Accumulated signal delay in seconds (unused by this method).
- Returns:
Dispersion measure in pc cm^-3 at each TOA.
- Return type:
array,shape (n_toas,)
- class jaxpint.delay.DispersionDMX(n_bins, dmx_names, dmxr1_names, dmxr2_names)[source]#
Bases:
DispersionDelayComponentPiecewise-constant DM dispersion delay (DMX model).
- Parameters:
n_bins (
int) – Number of DMX bins.dmx_names (
tuple[str,]) – Names of DMX value parameters, e.g.("DMX_0001", "DMX_0002").dmxr1_names (
tuple[str,]) – Names of bin-start MJD epoch parameters, e.g.("DMXR1_0001", ...).dmxr2_names (
tuple[str,]) – Names of bin-end MJD epoch parameters, e.g.("DMXR2_0001", ...).
- Raises:
ValueError – If
n_binsis less than 1.ValueError – If the length of
dmx_names,dmxr1_names, ordmxr2_namesdoes not matchn_bins.
- compute_dm(toa_data, params, delay)[source]#
Compute piecewise-constant DM from DMX bins.
Each TOA receives the DMX value of the bin it falls within. TOAs outside all bins receive zero DM contribution.
- Parameters:
toa_data (
TOAData) – Pre-extracted TOA data (MJD times for bin assignment).params (
ParameterVector) – Timing-model parameters containing DMX, DMXR1, DMXR2 values.delay (
array,shape (n_toas,)) – Accumulated signal delay in seconds (unused by this method).
- Returns:
Piecewise DM in pc cm^-3 at each TOA.
- Return type:
array,shape (n_toas,)
- class jaxpint.delay.ExponentialDip(n_dips, expdipep_names, expdipamp_names, expdipidx_names, expdiptau_names, expdipeps_name='EXPDIPEPS', expdipfref_name='EXPDIPFREF')[source]#
Bases:
DelayComponentExponential dip delay model.
- Parameters:
n_dips (
int) – Number of dip events.expdipeps_name (
str) – Name of the transition timescale parameter (days).expdipfref_name (
str) – Name of the reference frequency parameter (MHz).expdipep_names (
tuple[str,]) – Names of event epoch parameters (MJD).expdipamp_names (
tuple[str,]) – Names of event amplitude parameters (seconds).expdipidx_names (
tuple[str,]) – Names of chromatic index parameters (dimensionless).expdiptau_names (
tuple[str,]) – Names of decay timescale parameters (days).
- Raises:
ValueError – If
n_dipsis less than 1.ValueError – If the length of
expdipep_names,expdipamp_names,expdipidx_names, orexpdiptau_namesdoes not matchn_dips.
- class jaxpint.delay.FDJump(fdjump_param_names, fdjump_fd_indices, use_log=True)[source]#
Bases:
DelayComponentSystem-dependent FD polynomial delay (FDJump).
- Parameters:
fdjump_param_names (
tuple[str,]) – Names of the FDJump parameters in the ParameterVector.fdjump_fd_indices (
tuple[int,]) – Polynomial power for each parameter (1-indexed: FD1 → 1, FD2 → 2, …).use_log (
bool) – If True, use log(freq/GHz); if False, use freq/GHz.
- Raises:
ValueError – If
fdjump_param_namesandfdjump_fd_indiceshave different lengths.
- class jaxpint.delay.FrequencyDependent(fd_param_names)[source]#
Bases:
DelayComponentPolynomial delay in log-frequency (FD model).
- Parameters:
fd_param_names (
tuple[str,]) – Names of the FD parameters, ordered starting from FD1. E.g.("FD1", "FD2", "FD3").- Raises:
ValueError – If no FD terms are provided (
fd_param_namesis empty).
- class jaxpint.delay.SolarSystemShapiroDelay(raj_name='RAJ', decj_name='DECJ', pmra_name=None, pmdec_name=None, posepoch_name=None, planet_shapiro=False, obliquity_arcsec=None)[source]#
Bases:
DelayComponentSolar system Shapiro delay (Sun + optional planets).
- Parameters:
raj_name (
str) – Names of the RA/DEC (or ELONG/ELAT) parameters in theParameterVector(radians).decj_name (
str) – Names of the RA/DEC (or ELONG/ELAT) parameters in theParameterVector(radians).pmra_name (
strorNone) – Names of proper-motion parameters (mas/yr). None disables PM.pmdec_name (
strorNone) – Names of proper-motion parameters (mas/yr). None disables PM.posepoch_name (
strorNone) – Epoch parameter for proper-motion reference.planet_shapiro (
bool) – If True, include Jupiter, Saturn, Venus, Uranus, and Neptune contributions in addition to the Sun.obliquity_arcsec (
floatorNone) – When not None, the direction parameters are interpreted as ecliptic coordinates and rotated to ICRS using this obliquity (arcseconds).
- class jaxpint.delay.SolarWindDispersion(ne_sw_param_names, swepoch_name='SWEPOCH', swm=0, swp_name=None, raj_name='RAJ', decj_name='DECJ', pmra_name=None, pmdec_name=None, posepoch_name=None, obliquity_arcsec=None)[source]#
Bases:
DelayComponentDispersion delay from the solar wind.
- Parameters:
ne_sw_param_names (
tuple[str,]) – Names of the NE_SW Taylor coefficients in theParameterVector, ordered by derivative index. E.g.("NE_SW",)for constant, or("NE_SW", "NE_SW1")for a first-order expansion.swepoch_name (
str) – Name of the reference-epoch parameter for the NE_SW expansion.swm (
int) – Solar wind model: 0 (Edwards et al.) or 1 (Hazboun et al.).swp_name (
strorNone) – Name of the power-law index parameter. Required for SWM=1.raj_name (
str) – Astrometry coordinate parameter names (RA/DEC or ELONG/ELAT).decj_name (
str) – Astrometry coordinate parameter names (RA/DEC or ELONG/ELAT).posepoch_name (
strorNone) – Position epoch parameter name.obliquity_arcsec (
floatorNone) – When set, coordinates are ecliptic; rotate to ICRS.
- Raises:
ValueError – If no NE_SW terms are provided (
ne_sw_param_namesis empty).ValueError – If the first NE_SW term is not
'NE_SW'.ValueError – If
swmis not 0 or 1.ValueError – If
swmis 1 andswp_nameis None.
- class jaxpint.delay.SolarWindDispersionX(n_bins, swxdm_names, swxp_names, swxr1_names, swxr2_names, theta0, raj_name='RAJ', decj_name='DECJ', pmra_name=None, pmdec_name=None, posepoch_name=None, obliquity_arcsec=None)[source]#
Bases:
DelayComponentPiecewise solar wind dispersion delay (SWX model).
- Parameters:
n_bins (
int) – Number of SWX segments.swxdm_names (
tuple[str,]) – Names of SWXDM parameters, e.g.("SWXDM_0001", "SWXDM_0002").swxp_names (
tuple[str,]) – Names of SWXP parameters, e.g.("SWXP_0001", "SWXP_0002").swxr1_names (
tuple[str,]) – Names of bin-start MJD epoch parameters.swxr2_names (
tuple[str,]) – Names of bin-end MJD epoch parameters.theta0 (
float) – Elongation at conjunction in radians (precomputed by the bridge).raj_name (
str) – Astrometry coordinate parameter names.decj_name (
str) – Astrometry coordinate parameter names.posepoch_name (
strorNone) – Position epoch parameter name.obliquity_arcsec (
floatorNone) – When set, coordinates are ecliptic; rotate to ICRS.
- Raises:
ValueError – If
n_binsis less than 1.ValueError – If the length of
swxdm_names,swxp_names,swxr1_names, orswxr2_namesdoes not matchn_bins.
- class jaxpint.delay.TroposphereDelay[source]#
Bases:
DelayComponentTroposphere delay for topocentric TOAs.
All input data (elevation angle, observatory latitude/height) is pre-computed in the bridge layer and stored on
TOAData. This component performs the pure-JAX numerical calculation.Has no fittable parameters —
CORRECT_TROPOSPHEREis handled at the bridge level (if False, this component is not added to the model).
- class jaxpint.delay.WaveX(n_components, wxfreq_names, wxsin_names, wxcos_names, wxepoch_name='WXEPOCH')[source]#
Bases:
DelayComponentFourier-basis timing noise (WaveX).
- Parameters:
n_components (
int) – Number of Fourier components.wxepoch_name (
str) – Name of the reference epoch parameter.wxfreq_names (
tuple[str,]) – Names of the frequency parameters (1/day).wxsin_names (
tuple[str,]) – Names of the sine amplitude parameters (seconds).wxcos_names (
tuple[str,]) – Names of the cosine amplitude parameters (seconds).
- Raises:
ValueError – If
n_componentsis less than 1.ValueError – If the length of
wxfreq_names,wxsin_names, orwxcos_namesdoes not matchn_components.