FEE_primary_beam

The MWA Fully Embedded Element primary beam model (Sokolowski et al. 2017) is at the time of writing the most accurate and advanced MWA primary beam model. The model is stored in spherical harmonic coefficients, at a frequency resolution of 1.28MHz, in an hdf5 file called mwa_full_embedded_element_pattern.h5. I have done my best to document the RTS code I have used. The RTS code makes use of the Legendre Polynomial code available here by John Burkardt, and is included in the WODEN distribution as legendre_polynomial.c.

Host methods to read in hdf5 stored MWA FEE model, initialise the model for the given telescope delay settings, and accumulate the necessary arrays to make calculations on the device.

Author

J.L.B. Line

Functions

herr_t RTS_op_func(hid_t loc_id, const char *name, const H5L_info_t *info, void *operator_data)

Operator function to be called by H5Literate, finds closest frequency in the element pattern hdf5 file.

The MWA FEE beam is stored at a 1.28MHz frequency resolution. Using this function in conjunction with H5Literate, find the frequencies stored in the MWA FEE hdf5, and return the closest frequency to the frequency in operator_data.freq_in (Hz)

int RTS_MWAFEEInit(const char *h5filename, float freq_Hz, RTS_MWA_FEE_beam_t *pb, float *FEE_delays)

Read in the spherical harmonic basis functions and stored coefficients from h5filename, and calculate the tile phases for the given FEE_delays on the host device to intialise the MWA FEE beam at the requested frequency.

The MWA primary beam is steered usings quantised delays on each of the 16 dipoles in the tile. Specify these delays using FEE_delays - they can be found in the metafits file associated with an MWA observation

The MWA FEE beam is stored at a 1.28MHz frequency resolution, so the beam is intialised at the closest stored frequency to freq_Hz.

Todo:

How to do some kind of interpolation over frequency in the future

Parameters
  • h5filename[in] Path to mwa_full_embedded_element_pattern.h5

  • freq_Hz[in] Requested frequency (Hz)

  • pb[inout] A RTS_MWA_FEE_beam_t struct to store outputs in

  • FEE_delays[in] Dipole delay factors to specify beam pointings

void RTS_freeHDFBeam(RTS_MWA_FEE_beam_t *pb)

Free the stored spherical harmonic basis functions and coefficients in pb

Frees pb->Q1, pb->Q2, pb->M, pb->N.

struct opdata
#include <FEE_primary_beam.h>

Operator function to be called by H5Literate and RTS_op_func.

Used when finding the closest available frequency in the MWA FEE primary beam model

Public Members

float freq_in

Desired frequency (Hz)

float freq_out

Closest available frequency (Hz)

float least_diff

Difference between frequencies (Hz)