FEE_primary_beam

Tests for the functions in WODEN/src/FEE_primary_beam.c.

test_RTS_MWAFEEInit.c

create_sky_model::RTS_MWAFEEInit reads in stored spherical harmonic coefficients from mwa_full_embedded_element_pattern.h5 and stores them in an RTS_MWA_FEE_beam_t struct, to be used later in MWA FEE beam calculations. There are four generated arrays that matter, which are:

RTS_MWA_FEE_beam_t->Q1 (double _Complex)
RTS_MWA_FEE_beam_t->Q2 (double _Complex)
RTS_MWA_FEE_beam_t->M (double)
RTS_MWA_FEE_beam_t->N (double)

The MWA beam pointing direction on the sky is controlled by a set of 16 delays. A different delay setting is stored in a different table in the hdf5 file. In these tests, three different delays settings are tested at 50MHz, 150MHz, and 250MHz (a total of nine tests). For each combination of settings, the values of the four arrays are tested at 6 locations against stored known values ( which can be found in test_RTS_MWAFEEInit.h), and must be within an absolute tolerance of 1e-7 to pass. Only six array entries each are tested purely to keep the stored values to compare to down a reasonable number (but suffice as a test that things are working correctly).

test_multifreq_RTS_MWAFEEInit.c

create_sky_model::multifreq_RTS_MWAFEEInit calls RTS_MWAFEEInit for multiple frequencies, storing the output RTS_MWA_FEE_beam_t structs in beam_settings->FEE_beams. This function is designed to be used in conjunction with the interpolated coefficient file MWA_embedded_element_pattern_rev2_interp_167_197MHz.h5 which is at a 40kHz resolution (between 167 - 197MHz). The mwa_full_embedded_element_pattern.h5 file is at 1.28MHz resolution, however covers 50 - 300MHz.

This test calls the function for three different delays and frequencies, covering a range of frequencies between 167 and 197MHz. The first test calls 32 frequencies so takes 30s per call. The first two elements in the Q1 abd Q2 arrays are tested for both polarisations for all requested frequencies, and must match to within an absolute tolerance of 1e-7 to stored values.