IPTA student workshop 2017: Day 1, preparing timing data with psrchive

Similar documents
PSRCHIVE is: Introduction to PSRCHIVE. IPTA 2015 Student Workshop. PSRCHIVE can: PSRCHIVE cannot: Use PSRCHIVE to. PSRCHIVE Core Applications 7/21/15

PSRCHIVE and PSRFITS An Open Approach to Radio Pulsar Data Storage and Analysis

Astronomical Society of Australia /AS /04/03302

SDP Memo 40: PSRFITS Overview for NIP

LWA DRX C Language Simulation Report - v0.1

FIFI-LS: Basic Cube Analysis using SOSPEX

Radio astronomy data reduction at the Institute of Radio Astronomy

Adaptive selfcalibration for Allen Telescope Array imaging

DETECTION OF OUTLIERS IN TWSTFT DATA USED IN TAI

Data Analysis. I have got some data, so what now? Naomi McClure-Griffiths CSIRO Australia Telescope National Facility 2 Oct 2008

ASKAP Pipeline processing and simulations. Dr Matthew Whiting ASKAP Computing, CSIRO May 5th, 2010

CS267 Homework 1: Fast Matrix Multiply

Convolution Product. Change of wave shape as a result of passing through a linear filter

Administrivia. Next Monday is Thanksgiving holiday. Tuesday and Wednesday the lab will be open for make-up labs. Lecture as usual on Thursday.

Using CrayPAT and Apprentice2: A Stepby-step

Begin Reading Smiley Users Manual

Lecture 17 Reprise: dirty beam, dirty image. Sensitivity Wide-band imaging Weighting

Introduction to CASA and Data Structure. Emmanuel Momjian

Deconvolution and Imaging ASTR 240: In-class activity, April 1, 2013

HESP PIPELINE v. 1.0

Site Effects Assessment Using Ambient Excitations SESAME WP06

Data Mining: Concepts and Techniques. (3 rd ed.) Chapter 3. Chapter 3: Data Preprocessing. Major Tasks in Data Preprocessing

Tutorial can be downloaded here: /data_school_tutorial1_final.pdf

G012 Scattered Ground-roll Attenuation for 2D Land Data Using Seismic Interferometry

AUDIOVISUAL COMMUNICATION

Diffuse Source Absolute Sensitivity and Point Source Relative Sensitivity as a Function of Extraction Slit Height for STIS First-Order Modes

Machine Learning & Science Data Processing

Status hardware, software and what next? Harry Keizer 1, Simon Bijlsma 1, Daniela de Paulis 1,3,Marc Wolf 1,2.

Part I. Introduction to Linux

ssrna Example SASSIE Workflow Data Interpolation

zap Documentation Release 1.0.dev86 Kurt Soto

ET4254 Communications and Networking 1

ENVI Tutorial: Basic Hyperspectral Analysis

The multi-year absolute timing of the Crab pulsar at high-energies using Jodrell Bank radio observations

Operating System Interaction via bash

NRAO VLA Archive Survey

Tutorial. Introduction. Starting GenePattern. Prerequisites. Scientific Scenario

Experiment 5: Exploring Resolution, Signal, and Noise using an FTIR CH3400: Instrumental Analysis, Plymouth State University, Fall 2013

Seismic Attributes on Frequency-enhanced Seismic Data

X-ray Spectra Part II: Fitting Data and Determining Errors

POL-2 Polarimetry & Data Reduction

Exercise sheet 1 To be corrected in tutorials in the week from 23/10/2017 to 27/10/2017

Analysis of the Parallelisation of the Duchamp Algorithm

STRAIGHT LINE REFERENCE SYSTEM STATUS REPORT ON POISSON SYSTEM CALIBRATION

John W. Romein. Netherlands Institute for Radio Astronomy (ASTRON) Dwingeloo, the Netherlands

User Manual STATISTICS

Lab 1 Implementing a Simon Says Game

VERY LARGE TELESCOPE 3D Visualization Tool Cookbook

First Walkthrough: Fundamentals of Camtasia Studio

Type your codes into the Username and Password section and click on Login.

Type your codes into the Username and Password section and click on Login.

European VLBI Network

Guided Analysis of WS3

ENVI Classic Tutorial: Basic Hyperspectral Analysis

CLASS tutorial: I. Basics

POSSUM: analysis for early science and beyond

Type your codes into the Username and Password section and click on Login.

Assessment for all units is ongoing and continuous consisting of tests, assignments and reports. Most units have a final two-hour examination.

BIO 360: Vertebrate Physiology Lab 9: Graphing in Excel. Lab 9: Graphing: how, why, when, and what does it mean? Due 3/26

STP, Unix, SAC tutorial, Ge167 Winter 2014

Microsoft Expression Web is usually obtained as a program within Microsoft Expression Studio. This tutorial deals specifically with Versions 3 and 4,

Data products. Dario Fadda (USRA) Pipeline team Bill Vacca Melanie Clarke Dario Fadda

ECE4703 B Term Laboratory Assignment 2 Floating Point Filters Using the TMS320C6713 DSK Project Code and Report Due at 3 pm 9-Nov-2017

IRAM Memo Introducing Associated Arrays in CLASS

DESIGNER S NOTEBOOK Proximity Calibration and Test by Kerry Glover August 2011

Lecture 14. Lidar Data Inversion and Sensitivity Analysis

Introduction: EViews. Dr. Peerapat Wongchaiwat

Type your codes into the Username and Password section and click on Login.

MeerKAT Data Architecture. Simon Ratcliffe

RFI Identification and Automatic Flagging

Microsoft Windows PowerShell v2 For Administrators

Parallel Databases C H A P T E R18. Practice Exercises

How reliable is statistical wavelet estimation? Jonathan Edgar*, BG Group, and Mirko van der Baan, University of Alberta

Introduction to Digital Image Processing

Drill-down Analysis with Equipment Health Monitoring

Using FTOOLS and Fv for Data Analysis: Chandra

Reprint (R30) Accurate Chromaticity Measurements of Lighting Components. Reprinted with permission from Craig J. Coley The Communications Repair depot

Data Inspection Tutorial. Hiroshi Nagai

SAT Released Test 8 Problem #28

Chapter 5. 3D data examples REALISTICALLY COMPLEX SYNTHETIC INVERSION. Modeling generation and survey design

Progress Report. Ian Evans On behalf of the Chandra Source Catalog Project Team. Chandra Users Committee Meeting October 22, 2013

Spectroscopy techniques II. Danny Steeghs

If not instantaneous, it is extraordinarily rapid". Galileo writing about his attempt to measure the speed of light with two lanterns

E044 Ray-based Tomography for Q Estimation and Q Compensation in Complex Media

2D Advanced Surface Texture Module for MountainsMap

Computer Vision and Graphics (ee2031) Digital Image Processing I

ksa 400 Growth Rate Analysis Routines

ERROR RECOGNITION and IMAGE ANALYSIS

CHAPTER 3. Preprocessing and Feature Extraction. Techniques

GPI, Exercise #1. Part 1

Pressure Wave and CO 2 Seismic Events Profile Viewer Java Applet

ENHANCEMENT OF DIFFUSERS BRDF ACCURACY

Microsoft Automating Administration with Windows PowerShell

ELEC Dr Reji Mathew Electrical Engineering UNSW

range: [1,20] units: 1 unique values: 20 missing.: 0/20 percentiles: 10% 25% 50% 75% 90%

Lab 1 Implementing a Simon Says Game

Southern African Large Telescope

Instructions for Observing with the Spigot

26, 2016 TODAY'S AGENDA QUIZ

Core Solutions of Microsoft SharePoint Server 2013

Transcription:

IPTA student workshop 2017: Day 1, preparing timing data with psrchive June 26, 2017 Kuo Liu 1, Stefan Os lowski 2 1 Max-Planck-Institut für Radioastronomie, Auf dem Hügel 69, D-53121 Bonn, Germany 2 Centre for Astrophysics & Supercomputing, Swinburne University of Technology, PO Box 218, Hawthorn VIC 3122, Australia 1 Introduction Welcome to the IPTA 2017 student workshop! In the first tutorial of the week, we will learn how to pre-process pulsar data for timing analysis. The data we are going to tackle come directly from pulsar backend during the pulsar observations, and are commonly referred to as archive data (*.ar files). Archive files contain astronomical data recorded during the observation, and information of the observation and data recording saved as metadata. Data provided for this tutorial are stored under the route: /home/ipta2017/day01/pulsartiming I/. There are three sub-directories under this route. The ar/ directory contains archive files produced during pulsar observation, each of which consists of integrated pulse profile data formed by folding/integrating a given length of observation, and their corresponding metadata. These data need to be properly reduced to obtain the equivalent pulse time-of-arrival (TOA) of the integrated pulse profile, which will be used in the timing analysis afterwards. In the cal/ directory you will find calibration archive data which are recorded during observation of an artificial signal called noise diode. These data are used to calibrate the polarisations of the pulsar data. The std/ directory contains an archive file of a high signal-to-noise (S/N) integrated pulse profile obtained after appropriate data reduction. This pulse profile shall later be used as the template profile to calculate TOAs. In the route directory there is ephemeris file (the J1022+1001.par file) which will be later used to quickly check the TOAs you have. We will be using the PSRCHIVE software package to reduce the archive data. psrchive is a suit of software tools commonly used within the pulsar community to reduce pulsar data. 1

It has been installed on the virtual machine and is ready to use. The usage of routines that are going to be used for this tutorial is described in the Appendix. Please refer to the Appendix when you go through the following exercises. For more information of psrchive, see http://psrchive.sourceforge.net/ and https://arxiv.org/abs/1205.6276. Intermediate-stage data will be generated during the following exercises, but will be no more than a few hundred mega-bytes. Please organise yourself on where to place the generated data and the results! 2 Exercise 0: Familiarising yourself with the data Before data reduction, it is necessary to first get familiar with the data available. The archive files contain metadata of relevant information of the observation and data recording, such as the source name, source position in right ascension and declination, MJD, central frequency, bandwidth, etc. This information can be viewed and edited (if necessary) with the psredit routine. Activities 1. Use psredit to browse the metadata of a few selected (as you wish) pulsar archive files and get information of a). Source name; b). Number of phase bins; c). Number of frequency channels; d). Number of sub-integrations; e). Number of polarisations; f). Integration length of each archive file; g). Length of the entire observation. 2. Browse the metadata of the calibration archive file. Compare with the metadata from those in the pulsar archive files and note down the differences; 1. a). Number of phase bins: 1024; b). Number of frequency channels: 128; c). Number of sub-integrations: 1; d). Number of polarisations: 4; e). Length of integration: 10.0 s; f). Length of the entire observation: 1280 s. 2. A few notable differences: Observation type, Observation mode, dispersion measure, start time, time per bin or sample, etc. 3 Exercise 1: Visualising the data The archive data can be visualized with the psrplot routine. An initial check of the data quality is always helpful for designing the procedure of data reduction.

Activities 1. Use psradd to combine all pulsar archive files together into a single archive file. 2. Use psrplot to plot a polarisation profile of both the combined archive file and the given template profile in std/, and describe the difference between them. 3. Use psrplot to make a pulse phase vs frequency image of the combined archive file. What can be seen? 4. Use psrplot to make a pulse phase vs time image of the combined archive file. What can be seen? 5. The calibration signal is a square wave signal intrinsically with 100% linear polarisation. Use psrplot to make a polarisation profile of the calibration archive file. What do you see? 1. Simply run e.g.,: psradd 2*.ar -o yours_total.ar 2. The total intensity (I) profile of the combined data is in general consistent with the post-reduction profile, but the linear and circular components are largely different. 3. In the pulse phase vs frequency image of the combined data, there are channels with significantly stronger and different signals from the pulse profile. These are narrowband radio interference (RFI). If you have not included de-dispersion in preprocessing commands, the pulsar signals from different frequency channels are not aligned due to dispersion delay. In this case, adding D to the preprocessing commands will align the signals. 4. In the pulse phase vs time image of the combined data, there are sub-integrations with significantly stronger and different signals from the pulse profile. These are impulse timedomain RFI. 5. The calibration signal has total intensity as a square wave, but the linear component is not 100% and there is circular component. Comparison of the intrinsic and observed signal of the calibrator gives the measurement of polarisation calibration. 4 Exercise 2: Polarisation calibration The calibration data can be used to measure the receiver response and correct the polarisations of the pulsar data.

Activities 1. Use pac to create a database file of the available calibration data. 2. Use pac to calibrate all the individual pulsar archive files. 3. Use psradd to combined the calibrated pulsar data into a single archive file, and compare the polarisations profiles with what you see from the template profile. 1. You can use options -w, -p, -u, and -k (some others may work as well). 2. You can use options -d, -O (some others may work as well). 3. The linear and circular polarisation should now be consistent with seen in the given template profile. 5 Exercise 3: RFI mitigation As we have noticed from the previous exercise, there is significant contamination by RFI in the pulsar data which has to be removed to ensure the quality of the data. This can be done in both a manual fashion and an automatic fashion. You can choose either of the following two options, or try out both and compare the results. Normally, manual RFI removal / zapping (option 1) tends to be more straightforward. Activities Option 1: Manual cleaning with pazi. 1. Use pazi to load the single archive file you have formed after polarisation calibration. In the pulse phase vs time panel, zap sub-integrations with significant RFI. 2. Switch to pulse phase vs frequency image and zap channels with significant RFI. 3. Repeat the above for a few iterations until no significant RFI remains in either domain, and save the result. Option 2: Automatic cleaning with paz. 1. Create a preprocessing command file to include usage of both the MSD and PLM method for the cleaning. 2. Use paz to load the command file and deploy the cleaning on the single archive file you have formed after polarisation calibration, and save the cleaned version in a new file. 3. Use psrplot to make a pulse phase vs frequency image and a pulse phase vs time image of the cleaned data, and compare with those before the cleaning.

Note: The default memory of the virtual machine is only 1 GB, and it would be a bit slow to run pazi. So increase the memory as you can do, to e.g., 2 GB or even 4 GB. Option 1: 1. The sub-integrations with power largely exceeding the others or with signals not in the phase where pulsar signal should be, have RFIs needed to be cleaned. 2. The frequency channels with power largely exceeding the others or with signals not in the phase where pulsar signal should be, have RFIs needed to be cleaned. 3. All RFIs should be cleanable after zapping some sub-integrations and frequency channels. Option 2: 1. Create a preprocessing command file having the following content: #! /usr/bin/env psrsh zap median window=24 zap median cutoff=3 zap median exp={$all:max-$all:min} zap median zap mow robust zap mow window=0.1 zap mow cutoff=4.0 zap mow 2. Use paz as e.g. the following: paz -J yours_pre_cmd_file -e your_ext yours.ar 3. In both pulse phase vs frequency and pulse phase vs time image, the cleaned version should have most RFI removed.

6 Exercise 4: Calculating TOAs As the data have now been calibrated for polarisation and been cleaned up for RFI, we can move on to the calculation of TOAs. The TOA is calculated by cross-correlating the observed integrated pulse profile with an independent template profile and finding the phase offset. The template profile needs to have high S/N in order to be a good reference for the TOA. Activities 1. Use psrsmooth to remove the noise from the template profile in std/. 2. Use pat to calculate TOAs from the single archive file that you have already calibrated and cleaned for RFI. Integrate the data in frequency and use the smoothed version of the template profile. Save the TOAs in a new file (e.g., named yours.tim). 3. Display the timing residuals of the TOAs with tempo2, by running: tempo2 -f J1022+1001.par yours.tim -gr plk -nofit This allows us to compare our derived TOAs to the prediction from the timing model. Have a look to see if the data points are in general random-distributed within the tolerance of their error bars. It will also produce output in the terminal window. Find the reduced chi-square value to see if it is close to 1. 1. Run psrsmooth as psrsmooth -W std/j1022+1001.std 2. Run pat as e.g.: pat -F -s std/j1022+1001.std.sm -f tempo2 yours.ar > yours.tim 3. The timing residuals in the plot should look in general randomly distributed within the scale of their error bars, i.e., no structure or trend. The reduced chi-square should be close to 1 (e.g., 1.1-1.2). 7 Exercise 5 (optional): Automating the above steps Once each stage of data reduction has been familiarised and validated, we can then gather the command lines used to form a shell script that can go through the entire procedure automatically. The pipeline can be later used to process new data in a straightforward and consistent way.

Activities 1. Use the routines in the previous exercises to build a pipeline including polarisation calibration and RFI mitigation, to automatically reduce the pulsar data and calculate one TOA. 1. An example skeleton of the pipeline is given below: #! /bin/bash # Create database for polarisation calibration pac -wp cal/ -u it -k database.txt # Calibrate pulsar data pac -d database.txt -O. ar/*.ar # RFI mitigation paz -J pre.psh -e zz *.calibp # Integration psradd -T *.zz -o all.ar # Make smoothed template psrsmooth -W std/j1022+1001.std # Calculate TOA pat -F -s std/j1022+1001.std.sm all.ar -f tempo2 8 Exercise 6 (optional): Automating processing with p- srsh The purpose of this exercise is to introduce the basic concept of using psrsh, if you want to learn some advanced skills in psrchive. psrsh is a command language interpreter that provides access to data processing algorithms in psrchive. It can be used either as an interactive shell or as a shell script command processor. For a detailed description of its usage, see: http://psrchive.sourceforge.net/manuals/psrsh/. It is possible to reproduce part of the pipeline from Exercise 5 using only psrsh. The main advantage is that the implementation above will unload and reload data multiple times. We can take advantage of the data being already present in the memory and apply multiple processing steps in one go which will speed the pipeline up.

Activities 1. Attempt to rewrite parts of the pipeline you have from Exercise 5 in psrsh. As the first step, implement polarisation calibration and RFI removal in psrsh. 2. Can you think of a way to also reproduce the psradd step with psrsh? 1. Below is what could go into your psrsh script: # load the calibration database. To save time, only do it once: init cal load database.txt init cal type ovhb04 # calibrate the archive Cal # unload calibrated data unload ext=calibp # applying zapping # paste contents of pre.psh except the shebang line (the first line) # unload unload ext=zz 2. (Try to think about it yourself...or ask one of the tutors if you want to embarrass him!) A Guideline of PSRChive The usage of routines included in this tutorial is explained as below. You can obtain more details of psrchiveroutines from van Straten, Paul Demorest & Stefan Os lowski (2012) (https://arxiv.org/abs/1205.6276), and http://psrchive.sourceforge.net/manuals/. A.1 psredit This routine is used to display information of the pulse profile data saved in the metadata. For a full list of options, run: psredit -h Simply run it with an archive file gives a full list of metadata information: psredit yours.ar The first, second, third column give the keyword, its physical meaning and its value. To display a certain keyword, simply do:

psredit -c keyword yours.ar e.g. psredit -c file yours.ar psredit -c nbin,nchan yours.ar You can use it edit the value of a certain keyword. To rewrite the same file, do: psredit -m -c "keyword=new_value" yours.ar e.g. psredit -m -c "freq=1400.0" yours.ar psredit -m -c "rcvr:basis=cir" yours.ar Or you can write to a new file with a different extension, as: psredit -e diff_ext -c "keyword=new_value" yours.ar A.2 psrplot This routine is used to plot the pulse profile data in a variety of ways. For a full list of options, run: psrplot -h Use -D option to choose device to display the plot. E.g., to display in another terminal window, use -D /xs. If not specified in the command line, the routine will ask you to specify one before making the plot. The data may need preprocessing before making the plot. For this, use the -j option. Append any preprocessing commands afterwards, such as psrplot -jftp for integration in frequency (F), time (T) and polarisation (p). For a complete list of supported preprocessing commands, type psrsh -H. To see a full list of available plot types, run: psrplot -P For example: psrplot -jft -ps yours.ar psrplot -jtp -pg yours.ar psrplot -jfp -py yours.ar The above commands plot polarisation profile (white I, red L, blue V), pulse phase vs frequency image of flux, and pulse phase vs time image of flux.

A.3 pazi This routine allows visualization of the pulse profile, and removal of RFI at the same time. Run as: pazi yours.ar It generates a plot of the pulse profile, and a pulse phase vs time image in an interactive panel which you can operate on. Press h on the panel for a full list of options. Press f to switch to pulse phase vs frequency image. Press t to switch back to pulse phase vs time image. Left click twice to choose a range to zoom in. Right click once to zap a selected sub-integration / frequency channel. Left click + right click to zap a range of sub-integrations / frequency channels. Press u to undo the last operation done. Press s to save the zapped file. It will save the zapped version in a new file with an extra extension.pazi, i.e., yours.ar.pazi. A.4 paz This routine is used to zero weight given frequency channels & sub-integrations so as to mitigate RFI. For a full list of options, run: paz -h For example, to zero weight channels with indices a, b, c, do: paz -z a b c To zero weight channels with indices from a to b (inclusive), do: paz -Z a b Use -m to rewrite the file or use -e to give the extension for the created new file. There are a few automatic RFI detection and excursion methods installed. The Median S- moothed Difference (MSD) method builds a running-median smoothed version of the spectrum, and zap channels based on the tolerance to differences between the observed bandpass and the smoothed version. It is designed mainly to remove narrow-band RFI. The Profile Lawn Mowing (PLM) method builds a running-median smoothed version of the profile, and replaces phase bins with noise based on tolerance to differences between the observed pulse profile and the smoothed version. It is designed to remove RFI appearing as broad-band bursts of impulsive emission. To deploy the methods, create a preprocessing command file (equivalently a psrsh script) and make use of the job preprocessor ( -J option), as

paz -J pre.psh -e your_ext yours.ar For the MSD method, have the following in the command file: #! /usr/bin/env psrsh # set the median smoothing boxcar width to 24 channels zap median window=24 # set the cutoff to 3.5 times the residual standard deviation zap median cutoff=3.5 # set the expression evaluated in each frequency channel zap median exp={$all:max-$all:min} # apply the median smoothing filter zap median For the PLM method, use the following content: #! /usr/bin/env psrsh # use robust statistics (median absolute deviation) zap mow robust # set the median-smoothing window to 20\% of the pulse profile zap mow window=0.2 # set the cutoff to 4.0 times the residual standard deviation zap mow cutoff=4.0 # execute the zap mow algorithm zap mow The values of the parameters can be tuned to optimize the effect of RFI removal. A.5 pac This routine is used to calibrate the polarisations of the pulse profile data. For a full list of options, run: pac -h

It normally runs in two tiers: create a database of calibrators and perform the calibration. For database, use -w option to enable database generation, use -p option to specify the routine where the calibration data are, use -u option to specify the extension of calibration files, and use -k option to give the name of the output database file. E.g.: pac -w -p cal_path -u cal_ext -k name_database For calibration, use -d option to give the name of the database file, use -e option to specify the extension of the calibrated files (by default calibp), and use -O option to give the route for the output. E.g.: pac -d name_database -O route_out yours.ar A.6 psradd This routine appends integrated pulse profiles in individual files together to a single file. For a full list of options, run: psradd -h For example, to simply append individual files together, run it as psradd yours1.ar yours2.ar... -o yours_total.ar psradd *.ar... -o yours_total.ar The option -o specify the name of the added file. The resulting file will have number of subintegrations the same as the number of files given. To integrate them all (so that the number of sub-integration is 1), add -T option. A.7 psrstat This routine calculates a wide variety of derived quantities of the pulse profile data. For a full list of options, run: psrstat -h Use -c option to print the value of given quantity, e.g.: psrstat -c snr yours.ar Run with a file without any command-line arguments to print a list of all available quantities: psrstat yours.ar

A.8 psrsmooth This routine is used to remove white noise in the profile data. For a full list of options, run: psrsmooth -h It is recommended to use the -W option to enable wavelet smoothing. E.g., run: psrsmooth -W yours.ar It will generate a smoothed version of the given archive file named yours.ar.sm. A.9 pat This routine calculates TOA of the given pulse profile. For a full list of options, run: pat -h E.g., use option -s to give the template as the reference of the TOA, option -F to integrate the profile in frequency, option -T to integrate the profile in time, option -A to choose fitting algorithm and option -f tempo2 to specify tempo2 format output: pat -FT -A FDM -s yours.std -f tempo2 yours.ar The tempo2 format output is as below: <filename> <Frequency> <TOA> <TOA error> <Telescope ID>