PINT Is Not TEMPO3¶
PINT is a project to develop a new pulsar timing solution based on python and modern libraries. It is still in active development, but it can already produce residuals from most “normal” timing models that agree with Tempo and Tempo2 to within ~10 nanoseconds. It can be used within python scripts or notebooks, and there are several command line tools that come with it.
The primary reasons we are developing PINT are:
To have a robust system to check high-precision timing results that is completely independent of TEMPO and Tempo2
To make a system that is easy to extend and modify due to a good design and the use of a modern programming language, techniques, and libraries.
How the documentation is organized¶
We try to keep the PINT documentation divided into four categories:
- Tutorials
Easy-to-follow walkthroughs to show new users what PINT can do. No explanations or alternatives or fallback methods, just getting people to a point where they know what questions to ask. These should work for everyone without surprises or problems. Jupyter notebooks are a natural format for these. Includes Basic installation.
- Explanation
Descriptions of how PINT works, why certain design choices were made, what the underlying concepts are and so forth. This is for users who know more or less what to do but want to understand what is going on.
- Reference
Specific details of how particular things work. This is for users who are trying to use PINT and know what function or object or method they need but need the details of how it works.
- How-tos
Detailed guides on how to accomplish specific things, for people who already know what questions to ask. Explanations and reference are not needed here but even experienced users can benefit from being pointed at the right way to do something, with fallbacks and troubleshooting advice.
This is based on the Django documentation structure, and it is intended both to help users find the correct information and to help documentation writers keep clear in our heads who we are writing for and what we are trying to communicate to them.
- Tutorials
- Basic installation
- Time a pulsar
- PINT Example Session
- Understanding Timing Models
- Understanding Parameters
- Building a timing model from scratch
- First let us see all the possible components we can use
- Choose your components
- Construct timing model (i.e.,
TimingModel
instance) - View the components in the timing model instance
- Useful methods of
TimingModel
- Component order
- Add parameter values
- Validating the model
- Add a component to the timing model
- Delete a component
- Add prefix-style parameters
- Display the existing DMX parameters
- Add DMX parameters
- Check if the parameter and component setup correctly.
- Remove a parameter
- Add higher order derivatives of spin frequency to timing model
- How to compose a timing model component
- Understanding Fitters
- Wideband TOA fitting
- Validation Example for PINT paper
- Print the PINT and TEMPO/TEMPO2 version
- Redefine the Tempo2_util function for larger number of observations
- Set up date file path for PSR J1600-3053.
- Load TOAs to PINT
- Load timing model from .par file
- Make the General Least Square fitter
- Fit TOAs for 9 iterations.
- The weighted RMS value for pre-fit and post-fit residuals
- Plot the pre-fit and post-fit residuals
- Use tempo_utils to analysis the same data set.
- Write the TEMPO postfit model to a new .par file, for comparison later
- Get the TEMPO residuals
- Plot the PINT - TEMPO residual difference.
- Compare the parameter between TEMPO and PINT
- Print the parameter difference in a table.
- If one wants the Latex output please use the cell below.
- Check out the maximum DMX difference
- Output the table in the paper
- PINT refit using the modified tempo2-style parfile
- Tempo2 fit
- Get TEMPO2 residuals, toa value, observing frequencies, and data error
- Plot the TEMPO2 - PINT residual difference
- Write out the TEMPO2 postfit parameter to a new file
- Compare the parameter between TEMPO2 and PINT
- Print the parameter difference in a table.
- If one wants to get the latex version, please use the line below.
- Check out the maximum DMX difference
- Output the table in the paper
- The residual difference between PINT and TEMPO2 is at the level of ~1ns
- Explanation
- Reference
- Timing Models
- Command-line tools
- pint
pint
- PINT Is Not TEMPO3!- pint.extern
- pint.models
- pint.observatory
- pint.orbital
- pint.pintk
- pint.scripts
- pint.templates
pint.config
- Functions related to PINT configuration.pint.erfautils
- Observatory position and velocity calculation.pint.event_toas
- Generic function to load TOAs from events files.pint.eventstats
- Various routines for calculating pulsation test statistics on event data and helper functions.pint.fermi_toas
- Work with Fermi TOAs.pint.fits_utils
- FITS handling functionspint.fitter
- Objects for managing the procedure of fitting models to TOAs.pint.gridutils
pint.ltinterface
- An interface for pint compatible to the interface of libstempo.pint.mcmc_fitter
pint.modelutils
pint.phase
pint.pint_matrix
- pint_matrix module defines the pint matrix base class, the design matrix . and the covariance matrixpint.plot_utils
pint.polycos
- Polynomial coefficients for phase predictionpint.pulsar_ecliptic
pint.pulsar_mjd
- PulsarMJD special time format.pint.random_models
- Generate random models distributed like the results of a fitpint.residuals
- Objects for comparing models to data.pint.sampler
pint.solar_system_ephemerides
pint.toa
- Tools for working with pulse time-of-arrival (TOA) data.pint.toa_select
- Tool for selecting a subset of TOAs.pint.utils
- Miscellaneous potentially-helpful functions.
- PINT coding style
- How-tos
- Credits
- History