pint.models.astrometry.Astrometry

class pint.models.astrometry.Astrometry[source]

Bases: DelayComponent

Common tools for astrometric calculations.

Methods

add_param(param[, deriv_func, setup])

Add a parameter to the Component.

as_ECL([epoch, ecl])

as_ICRS([epoch, ecl])

barycentric_radio_freq(toas)

change_posepoch(new_epoch)

Change POSEPOCH to a new value and update the position accordingly.

d_delay_astrometry_d_POSEPOCH(toas[, param, ...])

Calculate the derivative wrt POSEPOCH

d_delay_astrometry_d_PX(toas[, param, acc_delay])

Calculate the derivative wrt PX

get_d_delay_quantities(toas)

Calculate values needed for many d_delay_d_param functions

get_params_as_ICRS()

get_params_of_type(param_type)

Get all the parameters in timing model for one specific type.

get_prefix_mapping_component(prefix)

Get the index mapping for the prefix parameters.

get_psr_coords([epoch])

is_in_parfile(para_dict)

Check if this subclass included in parfile.

match_param_aliases(alias)

Return the parameter corresponding to this alias.

param_help()

Print help lines for all available parameters in model.

print_par([format])

param format:

Parfile output format. PINT outputs the 'tempo', 'tempo2' and 'pint'

register_deriv_funcs(func, param)

Register the derivative function in to the deriv_func dictionaries.

remove_param(param)

Remove a parameter from the Component.

set_special_params(spcl_params)

setup()

Finalize construction loaded values.

solar_system_geometric_delay(toas[, acc_delay])

Returns geometric delay (in sec) due to position of site in solar system.

ssb_to_psb_xyz_ECL([epoch, ecl])

Returns unit vector(s) from SSB to pulsar system barycenter under Ecliptic coordinates.

ssb_to_psb_xyz_ICRS([epoch])

Returns unit vector(s) from SSB to pulsar system barycenter under ICRS.

sun_angle(toas[, heliocenter, also_distance])

Compute the pulsar-observatory-Sun angle.

validate()

Validate loaded values.

validate_toas(toas)

Check that this model component has TOAs where needed.

Attributes

aliases_map

Return all the aliases and map to the PINT parameter name.

category

component_types

free_params_component

Return the free parameters in the component.

param_prefixs

register

ssb_to_psb_xyz_ICRS(epoch: float | Quantity | Time = None) Quantity[source]

Returns unit vector(s) from SSB to pulsar system barycenter under ICRS.

If epochs (MJD) are given, proper motion is included in the calculation.

Parameters:

epoch (float or astropy.time.Time or astropy.units.Quantity, optional) – If float or Quantity, MJD(TDB) is assumed

Returns:

(len(epoch), 3) array of unit vectors

Return type:

np.ndarray

ssb_to_psb_xyz_ECL(epoch: float | Quantity | Time = None, ecl: str = None) Quantity[source]

Returns unit vector(s) from SSB to pulsar system barycenter under Ecliptic coordinates.

If epochs (MJD) are given, proper motion is included in the calculation.

Parameters:
Returns:

(len(epoch), 3) array of unit vectors

Return type:

np.ndarray

sun_angle(toas: TOAs, heliocenter: bool = True, also_distance: bool = False) ndarray[source]

Compute the pulsar-observatory-Sun angle.

This is the angle between the center of the Sun and the direction to the pulsar, as seen from the observatory (for each TOA).

This angle takes into account the motion of the Sun around the solar system barycenter.

Parameters:
  • toas (pint.toa.TOAs) – The pulse arrival times at which to evaluate the sun angle.

  • heliocenter (bool) – Whether to use the Sun’s actual position (the heliocenter) or the solar system barycenter. The latter may be useful for comparison with other software.

  • also_distance (bool) – If True, also return the observatory-Sun distance as a Quantity

Returns:

The angle in radians

Return type:

array

solar_system_geometric_delay(toas: TOAs, acc_delay=None) Quantity[source]

Returns geometric delay (in sec) due to position of site in solar system. This includes Roemer delay and parallax.

NOTE: currently assumes XYZ location of TOA relative to SSB is available as 3-vector toa.xyz, in units of light-seconds.

get_d_delay_quantities(toas: TOAs) dict[source]

Calculate values needed for many d_delay_d_param functions

d_delay_astrometry_d_PX(toas: TOAs, param='', acc_delay=None) Quantity[source]

Calculate the derivative wrt PX

Roughly following Smart, 1977, chapter 9.

px_r: Extra distance to Earth, wrt SSB, from pulsar r_e: Position of earth (vector) wrt SSB u_p: Unit vector from SSB pointing to pulsar t_d: Parallax delay c: Speed of light delta: Parallax

The parallax delay is due to a distance orthogonal to the line of sight to the pulsar from the SSB:

px_r = sqrt( r_e**2 - (r_e.u_p)**2 ),

with delay

t_d = 0.5 * px_r * delta’/ c, and delta = delta’ * px_r / (1 AU)

d_delay_astrometry_d_POSEPOCH(toas, param='', acc_delay=None)[source]

Calculate the derivative wrt POSEPOCH

change_posepoch(new_epoch)[source]

Change POSEPOCH to a new value and update the position accordingly.

Parameters:

new_epoch (float or astropy.Time object) – The new POSEPOCH value.

add_param(param, deriv_func=None, setup=False)

Add a parameter to the Component.

The parameter is stored in an attribute on the Component object. Its name is also recorded in a list, self.params.

Parameters:
  • param (pint.models.Parameter) – The parameter to be added.

  • deriv_func (function) – Derivative function for parameter.

property aliases_map

Return all the aliases and map to the PINT parameter name.

This property returns a dictionary from the current in timing model parameters’ aliase to the pint defined parameter names. For the aliases of a prefixed parameter, the aliase with an existing prefix index maps to the PINT defined parameter name with the same index. Behind the scenes, the indexed parameter adds the indexed aliase to its aliase list.

property free_params_component

Return the free parameters in the component.

This function collects the non-frozen parameters.

Return type:

A list of free parameters.

get_params_of_type(param_type)

Get all the parameters in timing model for one specific type.

get_prefix_mapping_component(prefix)

Get the index mapping for the prefix parameters.

Parameters:

prefix (str) – Name of prefix.

Returns:

A dictionary with prefix parameter real index as key and parameter name as value.

Return type:

dict

is_in_parfile(para_dict)

Check if this subclass included in parfile.

Parameters:

para_dict (dictionary) – A dictionary contain all the parameters with values in string from one parfile

Returns:

Whether the subclass is included in the parfile.

Return type:

bool

match_param_aliases(alias)

Return the parameter corresponding to this alias.

Parameters:

alias (str) – Alias name.

Note

This function only searches the parameter aliases within the current component. If one wants to search the aliases in the scope of TimingModel, please use TimingModel.match_param_aliase().

param_help()

Print help lines for all available parameters in model.

print_par(format='pint')
Parameters:

format (str, optional) – Parfile output format. PINT outputs the ‘tempo’, ‘tempo2’ and ‘pint’ format. The defaul format is pint. Actual formatting done elsewhere.

Returns:

str

Return type:

formatted line for par file

register_deriv_funcs(func, param)

Register the derivative function in to the deriv_func dictionaries.

Parameters:
  • func (callable) – Calculates the derivative

  • param (str) – Name of parameter the derivative is with respect to

remove_param(param)

Remove a parameter from the Component.

Parameters:

param (str or pint.models.Parameter) – The parameter to remove.

setup()

Finalize construction loaded values.

validate()

Validate loaded values.

validate_toas(toas)

Check that this model component has TOAs where needed.