MWAX VCS Commissioning

MWAX VCS Commissioning

The recent upgrade to MWAX necessitates verification that the system is capable of observing high time resolution phenomena, such as pulsars. To this end, we put in a successful proposal for an MWA observing campaign to being in the end of 2021 and into the beginning of 2022. The requested observations fall into two categories:

  1. commissioning observations, and

  2. the remaining SMART observations.

This page details the progress made in taking the observations and performing the tests to complete the commissioning phase. Progress with the SMART survey is detailed elsewhere.

Commissioning Observations

Goals & Target Pulsars

The stated goals of the commissioning observations are:

  1. To develop and test the tied-array beamformer for the new VCS data format

  2. Verification of frequency labelling

  3. Data recording and timing stability

  4. Polarimetric verification and leakage assessment

  5. Full coherent beam sensitivity and timing accuracy

  6. The voltage dump and trigger mode (in response to external triggers)

  7. Correlation and imaging of data recorded in the new VCS format

A partial list of requested observations to satisfy the above goals are:

Goal

Number of obs

Duration (mins)

Pulsars (e.g.)

#1

2

5-10

B1749-28, B0031-07

#2

2

20

J2241-5236

#3

2

60

J0437-4715, J2145-0750

#4

4

10

B0628-28, B0737-40, B0740-28, B1749-28

#5

3

20

J0036-1033 (and B0031-07, J0034-0534)

Observations

The following link performs a query on the MWA observation database, showing the details of the observations made so far:

https://ws.mwatelescope.org/metadata/find/?search=search&html=1&pagesize=100&projectid=G0057&mintime_utc=2021-12-13T01%3A00&maxtime_utc=2021-12-29T01%3A00

The following table is a summary of the same observations, and which of the goals (see the table above) that they are intended to satisfy:

Obsid

Duration (sec)

Files

Pulsar(s) / Calibrator(s)

RA/Dec

PC RA/Dec

Az/El

Goal

Processing

Download folder

VCSBeam version*

Beamforming time

1323690320

296

24

In-beam calibration (for 1323690616)

11.8 / -5.8

8.5 / -7.4

341.6 / 68.0

1, 5

Downloaded

/astro/mwavcs/asvo/253001

v3.3.31_c279695

 

1323690616

1200

3600 VCS

B0031-07
J0036-1033
J0034-0534

8.0 / -5.2

8.5 / -7.4

326.3 / 64.7

1, 5

/astro/mwavcs/asvo/253008

v3.3.31_c279695

1 channel: 1600s
24 channels: 4200-5000s

1323708616

296

24

In-beam calibration (for 1323709032)

95.1 / -26.7

97.7 / -28.6

0.0 / 90.0

1, 4

Downloaded

/astro/mwavcs/asvo/253000

 

 

1323708912

120

24

PicA (for 1323709032)

75.9 / -46.4

80.0 / -45.8

213.7 / 64.7

1, 4

Downloaded

/astro/mwavcs/asvo/252998

 

 

1323709032

600

1800 VCS

B0628-28

97.5 / -26.7

97.7 / -28.6

0.0 / 90.0

1, 4

Downloaded

/astro/mwavcs/asvo/253009

 

 

1323776720

120

24

PKS2356-61 (for 1323776840)

4.3 / -62.7

359.8 / -60.9

191.3 / 52.8

1, 2

Downloaded

/astro/mwavcs/asvo/252999

 

 

1323776840

1200

3600 VCS

J2241-5236

346.9 / -51.9

340.4 / -52.6

216.9 / 53.6

1, 2

Downloaded

/astro/mwavcs/asvo/253010

 

 

*VCSBeam version is the earliest version that was successfully used for the processing. For calibration observations, this means using mwa_plot_calibration, and for the VCS observations, make_mwa_tied_array_beam.

Processing details

Setting up Garrawarla environment

Setting up Garrawarla environment
module use /pawsey/mwa/software/python3/modulefiles module load singularity module load vcsbeam module load psrcat module load hyperdrive

1323690320

Run Hyperdrive

Create Hyperdrive batch script:

#!/bin/bash -l #SBATCH --job-name=hyp-$1 #SBATCH --output=hyperdrive.out #SBATCH --nodes=1 #SBATCH --ntasks-per-node=40 #SBATCH --time=01:00:00 #SBATCH --clusters=garrawarla #SBATCH --partition=gpuq #SBATCH --account=mwavcs #SBATCH --export=NONE #SBATCH --gres=tmp:50g #SBATCH --gres=gpu:1 # Load the Hyperdrive module module use /pawsey/mwa/software/python3/modulefiles module load hyperdrive set -eux which hyperdrive # The location of the correlated visibility FITS files: DATADIR=/astro/mwavcs/asvo/253001 # The path to the associated metafits file CAL_METAFITS=${DATADIR}/1323690320.metafits # The base source list (you shouldn't need to change this) SRCLIST=/pawsey/mwa/software/python3/srclists/master/srclist_pumav3_EoR0aegean_fixedEoR1pietro+ForA_phase1+2.txt # If it hasn't been done already, run Hyperdrive in "srclist-by-beam" to get just the subset of sources in the beam if [[ ! -r srclist_1000.yaml ]]; then hyperdrive srclist-by-beam \ -n 1000 \ -m ${CAL_METAFITS} \ /pawsey/mwa/software/python3/srclists/master/srclist_pumav3_EoR0aegean_fixedEoR1pietro+ForA_phase1+2.txt \ srclist_1000.yaml fi # Run Hyperdrive to generate a calibration solution hyperdrive di-calibrate \ -s srclist_1000.yaml \ -d ${DATADIR}/*.fits \ ${CAL_METAFITS}

Run the Hyperdrive script (on Garrawarla):

Run Hyperdrive on Garrawarla
cd /astro/mwavcs/vcs/1323690320/hyperdrive sbatch hyperdrive.sbatch

Run VCSBeam plotting

Create VCSBeam plotting script:

#!/bin/bash -l #SBATCH --job-name=plot_calsol #SBATCH --output=plot_calsol.out #SBATCH --nodes=1 #SBATCH --ntasks-per-node=2 #SBATCH --time=01:00:00 #SBATCH --clusters=garrawarla #SBATCH --partition=gpuq #SBATCH --account=mwavcs #SBATCH --export=NONE #SBATCH --gres=tmp:50g #SBATCH --gres=gpu:1 # Load the VCSBeam module module use /pawsey/mwa/software/python3/modulefiles module load vcsbeam # The location of the correlated visibility FITS files: DATADIR=/astro/mwavcs/asvo/253001 # The paths to the associated metafits files CAL_METAFITS=${DATADIR}/1323690320.metafits OBS_METAFITS=/astro/mwavcs/asvo/253008/1323690616.metafits # <-- This is the observation for which the calibration solution is needed # Use VCSBeam to plot the solutions srun -N 1 -n 1 mwa_plot_calibration -m ${OBS_METAFITS} -c ${CAL_METAFITS} -C hyperdrive_solutions.bin -R NONE -U 0,0 -O -X -z nan > plot_data.txt # The following will have to be done on your own computer (not on Garrawarla) # Download # (1) plot_calibration.py (use "which plot_calibration.py" to find out where it is) # (2) plot_data.txt # and then run the following #plot_calibration.py --phases_png phases.png --amps_png amps.png plot_data.txt

Run plotting script:

Run VCSBeam plotting on Garrawarla
cd /astro/mwavcs/vcs/1323690320/hyperdrive sbatch plot.sbatch

Plot the calibration solutions (on your local computer, after downloading a copy of plot_calibration.py and plot_data.txt:

Plot calibration solutions on local machine
plot_calibration.py --phases_png phases.png --amps_png amps.png plot_data.txt

Iterative step

It looks like the solutions are probably fine for most, if not all the antennas (except possibly HexE23, since there's a lot of power in the off-diagonal terms, Dpq and Dqp), but the curviness of the phases makes it hard to tell. Therefore, I will choose a reference antenna to plot all the phases relative to that. Since there's a bunch of tiles whose phases are strongly sloped (near the middle of the plot), I'll choose a reference tile with a negative slope as well, but whose gradient is not as steep... HexE25 will do. To do this, I need to re-run the plotting script with the following change:

-R NONE --> -R HexE25

If I want to keep the old plots, I just make sure I rename the various output files to something different. Remaking the plots gives:

These solutions look fine (the on-diagonal terms, Dpp and Dqq, look straight). At the moment, I'm not trying to do polarimetry, so I don't need to worry about either the reference antenna or the PQ phase. By default, I should probably get rid of the cross terms (taking guidance from the imaging team). Therefore, I should be able to simply apply this solution with the following options to make_mwa_tied_array_beam:

-R NONE -U 0,0 # (and without -X)

1323690616

Make sure you have a calibration solution ready. this example uses the solution derived from observation 1323690320.

B0031-07

Create a VCSBeam beamforming script:

#!/bin/bash -l #SBATCH --job-name=1323690616-0031 #SBATCH --output=vcsbeam_0031.out #SBATCH --nodes=24 #SBATCH --ntasks-per-node=1 #SBATCH --cpus-per-task=1 #SBATCH --mem=370gb #SBATCH --partition=gpuq #SBATCH --gres=gpu:1 #SBATCH --time=03:00:00 #SBATCH --account=mwavcs #SBATCH --nice=0 #SBATCH --export=NONE # Load the VCSBeam module module use /pawsey/mwa/software/python3/modulefiles module load vcsbeam # Define the directories where the data are DATADIR=/astro/mwavcs/asvo/253008 CALSOL=/astro/mwavcs/vcs/1323690320/hyperdrive/hyperdrive_solutions.bin OBS_METAFITS=${DATADIR}/1323690616.metafits CAL_METAFITS=/astro/mwavcs/asvo/253001/1323690320.metafits # Run VCSBeam for all 24 coarse channels # Start 8 seconds in, just to avoid quacktime # -p -v = Output both PSRFITS and VDIF srun -N 24 -n 24 make_mwa_tied_array_beam \ -m ${OBS_METAFITS} \ -b 1323690624 \ -T 1192 \ -f 109 \ -d ${DATADIR} \ -P pointings_0031.txt \ -c ${CAL_METAFITS} \ -C ${CALSOL} \ -O \ -R NONE -U 0,0 \ -p \ -v

 

Prepare a pointings file (PSR B0031-07):

00:34:08.8703 -07:21:53.409

Run the VCSBeam beamforming script:

Run VCSBeam beamforming on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam sbatch vcsbeam_0031.sbatch

Generate an ephemeris:

Run psrcat on Garrawarla
psrcat -e J0034-0534 > 0034.par

Use PRESTO's prepfold utility to fold on the pulsar's period from the FITS files:

Run PRESTO prepfold on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam /pawsey/mwa/singularity/presto/presto.sif prepfold -psr J0034-0721 -nosearch -nodmsearch G0057_1323690616_00:34:08.87_-07:21:53.41_ch109-132_00*.fits

 

Use DSPSR and PSRCHIVE to fold on the pulsar's period from the VDIF files:

Run PRESTO prepfold on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam for freq in {109..132}; do /pawsey/mwa/singularity/dspsr/dspsr.sif dspsr -E 0031.par -b 512 -L 10 -A -O B0031-07_ch${freq}.ar G0057_1323690616_00:34:08.87_-07:21:53.41_ch${freq}.hdr; done /pawsey/mwa/singularity/dspsr/dspsr.sif psradd -o B0031-07.ar -R B0031-07_ch1* # (Did some pazi flagging: there was something weird in the first subint. This generated B0031-07.ar.pazi) pav -g B0031-07.png/png -DFT B0031-07.ar.pazi

J0036-1033

Create a VCSBeam beamforming script:

#!/bin/bash -l #SBATCH --job-name=1323690616-0036 #SBATCH --output=vcsbeam_0036.out #SBATCH --nodes=24 #SBATCH --ntasks-per-node=1 #SBATCH --cpus-per-task=1 #SBATCH --mem=370gb #SBATCH --partition=gpuq #SBATCH --gres=gpu:1 #SBATCH --time=03:00:00 #SBATCH --account=mwavcs #SBATCH --nice=0 #SBATCH --export=NONE # Load the VCSBeam module module use /pawsey/mwa/software/python3/modulefiles module load vcsbeam # Define the directories where the data are DATADIR=/astro/mwavcs/asvo/253008 CALSOL=/astro/mwavcs/vcs/1323690320/hyperdrive/hyperdrive_solutions.bin OBS_METAFITS=${DATADIR}/1323690616.metafits CAL_METAFITS=/astro/mwavcs/asvo/253001/1323690320.metafits # Run VCSBeam for all 24 coarse channels # Start 8 seconds in, just to avoid quacktime # -p -v = Output both PSRFITS and VDIF srun -N 24 -n 24 make_mwa_tied_array_beam \ -m ${OBS_METAFITS} \ -b 1323690624 \ -T 1192 \ -f 109 \ -d ${DATADIR} \ -P pointings_0036.txt \ -c ${CAL_METAFITS} \ -C ${CALSOL} \ -O \ -R NONE -U 0,0 \ -p \ -v

Prepare a pointings file (PSR J0036-1033):

00:36:15.1 -10:33:14

Run the VCSBeam beamforming script:

Run VCSBeam beamforming on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam sbatch vcsbeam_0036.sbatch

Get an ephemeris from Nick:

PSRJ J0036-1033 RAJ 00:36:14.70 DECJ -10:33:37.18 F0 1.1111412561028151282 1 0.00000000152553465775 F1 -3.9179999999999999999e-14 2.264e-14 PEPOCH 46635 POSEPOCH 46635 DMEPOCH 46635 DM 23.123 EPHEM DE405

Use PRESTO's prepfold utility to fold on the pulsar's period from the FITS files:

Run PRESTO prepfold on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam /pawsey/mwa/singularity/presto/presto.sif prepfold -par 0036.par -nosearch -nodmsearch G0057_1323690616_00:36:15.10_-10:33:14.00_ch109-132_00*.fits

Use DSPSR and PSRCHIVE to fold on the pulsar's period from the VDIF files:

Run PRESTO prepfold on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam for freq in {109..132}; do /pawsey/mwa/singularity/dspsr/dspsr.sif dspsr -E 0036.par -b 512 -L 10 -A -O J0036-1033_ch${freq}.ar G0057_1323690616_00:36:15.10_-10:33:14.00_ch${freq}.hdr; done

J0034-0534

Create a VCSBeam beamforming script:

#!/bin/bash -l #SBATCH --job-name=1323690616-0034 #SBATCH --output=vcsbeam_0034.out #SBATCH --nodes=24 #SBATCH --ntasks-per-node=1 #SBATCH --cpus-per-task=1 #SBATCH --mem=370gb #SBATCH --partition=gpuq #SBATCH --gres=gpu:1 #SBATCH --time=03:00:00 #SBATCH --account=mwavcs #SBATCH --nice=0 #SBATCH --export=NONE # Load the VCSBeam module module use /pawsey/mwa/software/python3/modulefiles module load vcsbeam # Define the directories where the data are DATADIR=/astro/mwavcs/asvo/253008 CALSOL=/astro/mwavcs/vcs/1323690320/hyperdrive/hyperdrive_solutions.bin OBS_METAFITS=${DATADIR}/1323690616.metafits CAL_METAFITS=/astro/mwavcs/asvo/253001/1323690320.metafits # Run VCSBeam for all 24 coarse channels # Start 8 seconds in, just to avoid quacktime # -p -v = Output both PSRFITS and VDIF srun -N 24 -n 24 make_mwa_tied_array_beam \ -m ${OBS_METAFITS} \ -b 1323690624 \ -T 1192 \ -f 109 \ -d ${DATADIR} \ -P pointings_0034.txt \ -c ${CAL_METAFITS} \ -C ${CALSOL} \ -O \ -R NONE -U 0,0 \ -p \ -v

Prepare a pointings file (PSR J0034-0534):

00:34:21.83422 -05:34:36.722

Run the VCSBeam beamforming script:

Run VCSBeam beamforming on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam sbatch vcsbeam_0034.sbatch

Use PRESTO's prepfold utility to fold on the pulsar's period from the FITS files:

Run PRESTO prepfold on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam /pawsey/mwa/singularity/presto/presto.sif prepfold -psr J0034-0534 -nosearch -nodmsearch G0057_1323690616_00:34:21.83_-05:34:36.72_ch109-132_00*.fits

FAIL!!

Generate an ephemeris:

Run psrcat on Garrawarla
psrcat -e J0034-0534 > 0034.par

Use DSPSR and PSRCHIVE to fold on the pulsar's period from the VDIF files:

Run PRESTO prepfold on Garrawarla
cd /astro/mwavcs/vcs/1323690616/vcsbeam psrcat -e J0034-0534 > 0034.par for freq in {109..132}; do /pawsey/mwa/singularity/dspsr/dspsr.sif dspsr -E 0034.par -b 512 -L 10 -A -O J0034-0534_ch${freq}.ar G0057_1323690616_00:34:21.83_-05:34:36.72_ch${freq}.hdr; done

1323708616

1323708912

1323709032

1323776720

1323776840