pint.models.noise_model.PLDMNoise

class pint.models.noise_model.PLDMNoise[source]

Bases: NoiseComponent

Model of DM variations as radio frequency-dependent noise with a power-law spectrum.

Variations in DM over time result from both the proper motion of the pulsar and the changing electron number density along the line of sight from the solar wind and ISM. In particular, Kolmogorov turbulence in the ionized ISM will induce stochastic DM variations with a power law spectrum. Timing errors due to unmodelled DM variations can therefore appear very similar to intrinsic red noise, however the amplitude of these variations will scale with the inverse of the square of the (Earth Doppler corrected) radio frequency.

Parameters supported:

Name / Aliases

Description

Kind

TNDMAMP

Amplitude of powerlaw DM noise in tempo2 format

number

TNDMGAM

Spectral index of powerlaw DM noise in tempo2 format

number

TNDMC

Number of DM noise frequencies.

number

Note

Ref: Lentati et al. 2014

Methods

add_param(param[, deriv_func, setup])

Add a parameter to the Component.

get_noise_basis(toas)

Return a Fourier design matrix for DM noise.

get_noise_weights(toas)

Return power law DM noise weights.

get_params_of_type(param_type)

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

get_pl_vals()

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.

pl_dm_basis_weight_pair(toas)

Return a Fourier design matrix and power law DM noise weights.

pl_dm_cov_matrix(toas)

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.

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.

introduces_correlated_errors

is_time_correlated

param_prefixs

register

get_noise_basis(toas)[source]

Return a Fourier design matrix for DM noise.

See the documentation for pl_dm_basis_weight_pair function for details.

get_noise_weights(toas)[source]

Return power law DM noise weights.

See the documentation for pl_dm_basis_weight_pair for details.

pl_dm_basis_weight_pair(toas)[source]

Return a Fourier design matrix and power law DM noise weights.

A Fourier design matrix contains the sine and cosine basis_functions in a Fourier series expansion. Here we scale the design matrix by (fref/f)**2, where fref = 1400 MHz to match the convention used in enterprise.

The weights used are the power-law PSD values at frequencies n/T, where n is in [1, TNDMC] and T is the total observing duration of the dataset.

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.