pint.models.dispersion_model.DispersionDMX

class pint.models.dispersion_model.DispersionDMX[source]

Bases: Dispersion

This class provides a DMX model - multiple DM values.

This model lets the user specify time ranges and fit for a different DM value in each time range.

Parameters supported:

Name / Aliases

Description

Kind

DMX

Dispersion measure

pc / cm3

DMX_{number}

Dispersion measure variation

pc / cm3

DMXR1_{number}

Beginning of DMX interval

d

DMXR2_{number}

End of DMX interval

d

Methods

DMX_dispersion_delay(toas[, acc_delay])

This is a wrapper function for interacting with the TimingModel class

add_DMX_range(mjd_start, mjd_end[, index, ...])

Add DMX range to a dispersion model with specified start/end MJDs and DMX.

add_DMX_ranges(mjd_starts, mjd_ends[, ...])

Add DMX ranges to a dispersion model with specified start/end MJDs and DMXs.

add_param(param[, deriv_func, setup])

Add a parameter to the Component.

d_delay_d_dmparam(toas, param_name[, acc_delay])

Derivative of delay wrt to DM parameter.

d_dm_d_DMX(toas, param_name[, acc_delay])

dispersion_slope_value(toas)

dispersion_time_delay(DM, freq)

Return the dispersion time delay for a set of frequency.

dispersion_type_delay(toas)

dm_value(toas)

Compute modeled DM value at given TOAs.

dmx_dm(toas)

get_indices()

Returns an array of integers corresponding to DMX 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.

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.

register_dm_deriv_funcs(func, param)

Register the derivative function in to the deriv_func dictionaries.

remove_DMX_range(index)

Removes all DMX parameters associated with a given index/list of indices.

remove_param(param)

Remove a parameter from the Component.

set_special_params(spcl_params)

setup()

Finalize construction loaded values.

validate()

Validate the DMX parameters.

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

add_DMX_range(mjd_start, mjd_end, index=None, dmx=0, frozen=True)[source]

Add DMX range to a dispersion model with specified start/end MJDs and DMX.

Parameters:
  • mjd_start (float or astropy.quantity.Quantity or astropy.time.Time) – MJD for beginning of DMX event.

  • mjd_end (float or astropy.quantity.Quantity or astropy.time.Time) – MJD for end of DMX event.

  • index (int, None) – Integer label for DMX event. If None, will increment largest used index by 1.

  • dmx (float or astropy.quantity.Quantity) – Change in DM during DMX event.

  • frozen (bool) – Indicates whether DMX will be fit.

Returns:

index – Index that has been assigned to new DMX event.

Return type:

int

add_DMX_ranges(mjd_starts, mjd_ends, indices=None, dmxs=0, frozens=True)[source]

Add DMX ranges to a dispersion model with specified start/end MJDs and DMXs.

Parameters:
  • mjd_starts (iterable of float or astropy.quantity.Quantity or astropy.time.Time) – MJD for beginning of DMX event.

  • mjd_end (iterable of float or astropy.quantity.Quantity or astropy.time.Time) – MJD for end of DMX event.

  • indices (iterable of int, None) – Integer label for DMX event. If None, will increment largest used index by 1.

  • dmxs (iterable of float or astropy.quantity.Quantity, or float or astropy.quantity.Quantity) – Change in DM during DMX event.

  • frozens (iterable of bool or bool) – Indicates whether DMX will be fit.

Returns:

indices – Indices that has been assigned to new DMX events

Return type:

list

remove_DMX_range(index)[source]

Removes all DMX parameters associated with a given index/list of indices.

Parameters:

index (float, int, list, np.ndarray) – Number or list/array of numbers corresponding to DMX indices to be removed from model.

get_indices()[source]

Returns an array of integers corresponding to DMX parameters.

Returns:

  • inds (np.ndarray)

  • Array of DMX indices in model.

setup()[source]

Finalize construction loaded values.

validate()[source]

Validate the DMX parameters.

validate_toas(toas)[source]

Check that this model component has TOAs where needed.

DMX_dispersion_delay(toas, acc_delay=None)[source]

This is a wrapper function for interacting with the TimingModel class

print_par(format='pint')[source]
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

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.

d_delay_d_dmparam(toas, param_name, acc_delay=None)

Derivative of delay wrt to DM parameter.

Parameters:
  • toas (pint.TOAs object.) – Input toas.

  • param_name (str) – Derivative parameter name

  • acc_delay (astropy.quantity or numpy.ndarray) – Accumulated delay values. This parameter is to keep the unified API, but not used in this function.

dispersion_time_delay(DM, freq)

Return the dispersion time delay for a set of frequency.

This equation if cited from Duncan Lorimer, Michael Kramer, Handbook of Pulsar Astronomy, Second edition, Page 86, Equation [4.7] Here we assume the reference frequency is at infinity and the EM wave frequency is much larger than plasma frequency.

dm_value(toas)

Compute modeled DM value at given TOAs.

Parameters:

toas (TOAs object or TOA table(TOAs.table)) –

If given a TOAs object, it will use the whole TOA table in the

TOAs object.

Return type:

DM values at given TOAs in the unit of DM.

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.

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

register_dm_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.