# Pulsars and neutron stars/Tutorials and worksheets
## Pulsar timing tutorials
### Timing practice: step-by-step

This tutorial was given by G. Hobbs, M. Yu and S. Dai at the Kunming SKA summer school (2015).
Does tempo2 basically work and are the plugins available:
tempo2 –h

#### Parameter determination for easy data set

Have a simulated data set (data1.par and data1.tim). The data only contains white noise. What are the pulsar parameters?
* Look at data1.par and data1.tim files
* tempo2 -f data1.par data1.tim
* tempo2 –gr plk -f data1.par data1.tim
* Press ‘h’ to see some “help” information
* First check for phase jumps (see later) – check that the -0.5 < residual phase is < 0.5
* Click on postfit for the y-axis
* Select to fit for F0
* Click on RE-FIT
* Compare pre-fit with post-fit
* Look at the text output for the new parameter and its uncertainty (and check the reduced chisq value)
* Now fit for F0 and F1 simultaneously (select F1, select post-fit, click on RE-FIT)
* Check the parameter output and uncertainties
* Now also fit for RAJ and DECJ (along with F0 and F1)
* Now also fit for PMRA and PMDEC
* Now select to plot “day of year” on the x-axis and “post-fit” on the y-axis.
* Now fit for PX and plot with date on x-axis and post-fit on y-axis (also check with day-of-year on the x-axis)
* Check the final parameter output and uncertainties and reduced chisq value?
* Save your results by clicking “New par” enter the new name (data1_final.par)
* Quit by clicking on “Quit”
* tempo2 –gr plk –f data1_final.par data1.tim
(also can try with a different realization of the white noise: data2.par data2.tim)

#### Visualizing the residuals

* tempo2 –gr plk –f data4.par data4.tim
* Click with the left mouse button on a point to see information about that point. If profiles exist (not for this data) then click the middle mouse button to see the profile
* Can use the right mouse button to delete a single point (or press ‘d’)
* Can use shift-z to delete a region of points
* Can save a new arrival time file by clicking on “New Tim” – select “tempo2” format and then type in a new file name “good.tim”. Quit
* tempo2 –gr plk –f data4.par good.tim
* Select plotting “frequency” on the x-axis – note the colour scheme for different frequencies (red = 700 MHz data, green = 1400 MHz data, blue = 3100 MHz data).
* Click on some green points and note the “-or pks1” (this is a flag in the arrival time file). Note “-or pks2” for the blue points and “-or pks3”, “-or pks4” and “-or pks5” for the red points.
* Plot “date” on x-axis and press “ctrl-i” then type –or. This colours the points by the “-or” flag. Press “ctrl-i” again to return to default colours.
* There are clearly some offsets between the different systems. Open the parameter file (data4.par) and add in:
* tempo2 –gr plk –f data4.par good.tim (notice that the offsets are changing).
* Also add in:
* tempo2 –gr plk –f data4.par good.tim
* Why haven’t we put a jump on “-or pks2” ?
* Now fit the other parameters and produce a good set of parameters. Save as good.par and good.tim.

#### Dispersion measure variations

* tempo2 –gr plk –f data7.par data7.tim
* Find the MJD of the earliest observation and the latest observation (click with the left mouse button)
* Add into data7.par:
* seq 52960 100 56060 | awk ‘{print “DMOFF”,$1,0,0}’ >> data7.par
* tempo2 –gr plk –f data7.par data7.tim
* Look at the post-fit residuals
gnuplot
plot “J1744-1134.dm” using 1:2:3 w yerr

#### EFACs and EQUADs

* tempo2 –gr plk –f data5.par data5.tim
* Plot “TOA error” on the x-axis. Note that the error bars are clearly wrong. Must correct the errors somehow.
e’ = (e2 + EQUAD2)1/2 x EFAC (note that this has no physical meaning)
* Let’s guess an EQUAD (in microseconds). Add
EQUAD 5
at the top (after FORMAT 1) of the data5.tim file
* tempo2 –gr plk –f data5.par data5.tim (look at the reduced chisq value)
* Now change EQUAD 5 to EFAC 10. Check the reduced chisq value
* Now remove EFAC and EQUAD from the arrival time file
* tempo2 –gr efacEquad –f data5.par data5.tim –flag –or –plot (press ‘q’ to quit)
* Copy efacEquad_output.dat into data5.par file.
* tempo2 –gr plk –f data5.par data5.tim (look at the reduced chisq value)

#### Parameter determination with a red noise model

* tempo2 –gr plk –f data3.par data3.tim
* Follow the same process as for data1.par and data1.tim until you have fitted for all the parameters. Check the fit results and the reduced chisq (>> 1). Notice that the post-fit residuals are not white.
* Save our best parameters: “New Par” and save as try1.par. Quit
* tempo2 –gr spectralModel –f try1.par data3.tim –npsr 1
* Type 30 and then type 0
* Press ‘2’
* Guess 0.1, 5, 5, press ‘0’
* Press ‘1’
* Notice excess power at 1/1yr. We need to improve our fit for position before getting a good red noise model
* Check for J1744-1134.model file on your disk
* tempo2 –gr plk –f try1.par data3.tim –dcf J1744-1134.model
* Look at pre-fit and post-fit and the resulting parameters (look at PX)
* Write out a new parameter file (try2.par) and quit
* tempo2 –gr spectralModel –f try2.par data3.tim –npsr 1 –nofit –fit f0 –fit f1
* Type “30” then “0” then “2”, “0.1”, “5.5”, “8”, “0”, “1”
* Re-run tempo2 –gr plk …. and iterate until the parameters stop changing
Is the noise model good enough? Does it whiten and normalise the residuals?
* Save as good.par
* gnuplot
* plot “cholWhiteRes.dat” using 1:2
* Check that these points are “white” and Gaussianly distributed with a standard deviation of 1.
Do you believe the red noise model parameters? Can you get similarly good parameters, but with a different red noise model parameters?

#### Phase wraps and pulse numbering

* tempo2 –gr plk –f data6.par data6.tim
(There are quite a few ways to solve this … here’s one …)
* Add the following into data6.par:
* tempo2 –gr plk –f data6.par data6.tim
* Choose post-fit plotting on the y-axis. Select a region without a phase jump (use ‘z’). Press ‘y’. Click on “RE-FIT” (that only fits in that small region)
* Unzoom ‘u’ and repeat as much as possible
* When it is not possible to go further, turn on fitting for F2 and repeat.
* Repeat with F3, F4 etc. Note that this works well until MJD 55400
* For now let’s delete the data after MJD 55400. Press ‘n’. This produces a new file “withpn.tim”.
* cp withpn.tim start.tim
* Note that it contains pulse numbers
* Now do the same for the data from 55400 onwards (but ensure that one observation overlaps). Press ‘n’ and copy the new withpn.tim to end.tim
* We now have to join the files (but ensure that the observation at 55400 has the same pulse number)
* In start.tim it has pulse number 50891778739
* In end.tim it has pulse number 50891778672 (so must add 67 to all the pulse numbers in end.tim)
* awk ‘{print $1,$2,$3,$4,$5,$6,$7+67}’ end.tim >> start.tim
* Tell tempo2 to use the pulse numbering scheme. In data6.par add:
TRACK -2
* tempo2 –gr plk –f data6.par start.tim
* Note the timing noise and the glitch!
Also look at the “splk”, “plotMany”, “publish”, “glitch”, “general”, “general2” plugins. See for more usage instructions.