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
- Data Files
- Examples
- Basic installation
- Time a pulsar
- PINT Example Session
- Demonstrate the use of PINT in a script
- Accessing correlation matrices and model derivatives
- Check the state of PINT’s clock corrections
- Understand Observatory Clock Corrections
- Understanding Timing Models
- Understanding Parameters
- Building a timing model from scratch
- How to compose a timing model component
- Understanding Fitters
- PINT Noise Fitting Examples
- Red noise, DM noise, and chromatic noise fitting examples
- Working With TOA Flags
- Wideband TOA fitting
- Generate fake data on a relativistic DNS, make a mass-mass diagram
- Check for phase connection
- PINT Observatories
- Solar Wind Models
- MCMC Walkthrough
- PINT Bayesian Interface Examples
- PINT Bayesian Interface Example (Wideband)
- Demonstrate TOA simulation using PINT
- Validation Example for PINT paper
- Explanation
- Reference
- Timing Models
- Observatory List
- Command-line tools
- API reference
- pint.print_info
- pint.bayesian
- pint.binaryconvert
- pint.config
- pint.derived_quantities
- pint.erfautils
- pint.event_toas
- pint.eventstats
- pint.exceptions
- pint.extern
- pint.fermi_toas
- pint.fits_utils
- pint.fitter
- pint.gridutils
- pint.logging
- pint.mcmc_fitter
- pint.models
- pint.modelutils
- pint.observatory
- pint.orbital
- pint.phase
- pint.pint_matrix
- pint.pintk
- pint.plot_utils
- pint.polycos
- pint.pulsar_ecliptic
- pint.pulsar_mjd
- pint.random_models
- pint.residuals
- pint.sampler
- pint.scripts
- pint.simulation
- pint.solar_system_ephemerides
- pint.templates
- pint.toa
- pint.toa_select
- pint.types
- pint.utils
- PINT coding style
- How-tos
- How to Install PINT
- How to do a number of things users have asked about
- How to upgrade PINT
- How to check out some user’s particular branch for testing:
- How to go to a specific version of PINT
- Find data files for testing/tutorials
- Load a par file
- Load a tim file
- Load a tim and par file together
- Create TOAs from an array of times
- Get the red noise basis functions and the corresponding coefficients out of a PINT fitter object
- Select TOAs
- Modify TOAs
- Avoid “KeyError: ‘obs_jupiter_pos’ error when trying to grab residuals?”
- Convert from ELAT/ELONG <-> RA/DEC if I have a timing model
- Convert between binary models
- Add a jump programmatically
- Choose a fitter
- Include logging in a script
- Make PINT stop reporting a particular warning
- How to: Common timing workflow
- How to: Simple python PINT tools
- How to Contribute to PINT
- How to Set Up Your Environment For PINT Development
- How To Build and Test From the Command Line
- How to Edit PINT’s Documentation
- How to Work With Example Notebooks
- How to Control PINT Logging Output
- How to determine the scaling factor for TCB <-> TDB conversion for a parameter
- History
- Credits
- Packages using PINT