• Stars
    star
    116
  • Rank 302,159 (Top 6 %)
  • Language
    Python
  • License
    Other
  • Created almost 11 years ago
  • Updated 2 months ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

PINT is not TEMPO3 -- Software for high-precision pulsar timing

PINT Logo

PINT

Actions Status Coverage Documentation Status PINT Paper on arXiv PINT on ASCL License:BSD Code of Conduct

PINT is not TEMPO3

PINT is a project to develop a pulsar timing solution based on python and modern libraries. It is still in active development, but it is in production use by the NANOGrav collaboration and it has been demonstrated 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 PINT was developed are:

  • To have a robust system to produce 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.

IMPORTANT Notes!

PINT has a naming conflict with the pint units package available from PyPI (i.e. using pip) and conda. Do NOT pip install pint or conda install pint! See below!

PINT requires longdouble (80- or 128-bit floating point) arithmetic within numpy, which is currently not supported natively on M1/M2 Macs. However, you can use an x86 version of conda even on an M1/M2 Mac (which will run under Rosetta emulation): see instructions for using Apple Intel packages on Apple silicon. It's possible to have parallel versions of conda for x86 and ARM.

Installing

Conda Version PyPI PyVersions

PINT is now available via PyPI as the package pint-pulsar, so it is now simple to install via pip. For most users, who don't want to develop the PINT code, installation should just be a matter of:

$ pip install pint-pulsar

By default this will install in your system site-packages. Depending on your system and preferences, you may want to append --user to install it for just yourself (e.g. if you don't have permission to write in the system site-packages), or you may want to create a virtualenv to work on PINT (using a virtualenv is highly recommended by the PINT developers).

PINT is also available for Anaconda python under the conda-forge channel:

$ conda install -c conda-forge pint-pulsar

The above two options install the latest released version. If you want access to the latest development version, the source code, example notebooks, and tests, you can install from source, by cloning the source repository from GitHub, then install it, ensuring that all dependencies needed to run PINT are available:

$ git clone https://github.com/nanograv/PINT.git
$ cd PINT
$ pip install .

Complete installation instructions are available on readthedocs.

Using

See the online documentation. Specifically:

Are you a NANOGrav member? Then join the #pint channel in the NANOGrav slack.

If you have tasks that aren't covered in the material above, you can email [email protected] or one of the people below:

Want to do something new? Submit a github issue.

And for more details, please read and cite(!) the PINT paper.

Articles that cite the PINT paper can be found in an ADS Library. A list of software packages that use PINT can be found here.

More Repositories

1

enterprise

ENTERPRISE (Enhanced Numerical Toolbox Enabling a Robust PulsaR Inference SuitE) is a pulsar timing analysis code, aimed at noise analysis, gravitational-wave searches, and timing model analysis.
Python
64
star
2

pulsar_timing_school

Learning material for pulsar timing data analysis
Jupyter Notebook
54
star
3

PTMCMCSampler

Parallel tempering MCMC sampler package written in Python
Python
47
star
4

holodeck

Massive Black-Hole Binary Population Synthesis for Gravitational Wave Calculations ≋●≋●≋
Python
31
star
5

12p5yr_stochastic_analysis

Analysis and tutorial materials associated with the NANOGrav Collaboration's search for an isotropic stochastic gravitational-wave background in 12.5-years of precision millisecond pulsar timing data.
Jupyter Notebook
31
star
6

enterprise_extensions

A set of extension codes, utilities, and scripts for the enterprise PTA analysis framework.
Python
26
star
7

la_forge

Python
11
star
8

15yr_stochastic_analysis

Companion tutorials for the NANOGrav 15-year GWB analysis
Jupyter Notebook
11
star
9

tempo

Tempo is a program for pulsar timing data analysis.
Fortran
11
star
10

15yr_cw_analysis

Individual binary analysis of the NANOGrav 15-year dataset
Jupyter Notebook
9
star
11

QuickCW

Fast continuous wave (CW) analysis for PTA data
Python
7
star
12

11yr_3c66b

Example Jupyter Notebook and Bayesian analysis chains for the NANOGrav 11yr 3C66B analysis.
Jupyter Notebook
6
star
13

pint_pal

A long-lived repository for NANOGrav Pulsar Timing workflows and analysis.
Python
6
star
14

dwg_tutorials

Jupyter Notebook
5
star
15

2019-spring-workshop

A repository for binder with the NANOGrav workshop docker image and ipython notebooks
Jupyter Notebook
5
star
16

11yr_stochastic_analysis

Repository containing models and running scripts corresponding to the 11-year Stochastic Background analysis paper
Jupyter Notebook
5
star
17

pta_simulations

Tools to create and analyze simulated PTA datasets including noise and gravitational-wave processes.
Jupyter Notebook
4
star
18

nanodocker

Making docker images for NANOGrav analyses in the cloud
Dockerfile
2
star
19

enterprise_outliers

Outlier analysis for PTA data with enterprise
Python
2
star
20

mdc1

First IPTA mock data challenge data
1
star
21

metronomedemo

Website for metronome demo paper
1
star
22

nanopulsar

Repository for timing analysis based docker image
Dockerfile
1
star