Skip to content
sjperkins edited this page Jun 30, 2014 · 1 revision

In which, the decisions for why things are the way they are are explained...

Computing the RIME involves calculating a 4D space of values, baseline x channel x timestep x source, and then summing (reducing) over the source dimension to produce a baseline x channel x timestep space of visibilities.

At present, the ordering is baseline x channel x timestep x source. The main reason for placing source as the last dimension is so that a parallel reduction can be computed on it, to produce the visibilities.

Problem dimensions

  • na - Number of Antenna
  • nbl - Number of Baselines
  • nchan - Number of Channels
  • ntime - Number of Timesteps
  • npsrc - Number of Point Sources
  • ngsrc - Number of Gaussian Sources
  • nsrc - Number of Sources (Point and Gaussian Combined)

Subdividing the problem

In general, time and channel are easy to parallelise over.

Input

  • UVW coordinates, 3 x nbl x ntime, real.
  • LM coordinates, 2 x nsrc, real.
  • brightness, 5 x ntime x nsrc, real.
  • wavelength, 1 x nchan, real.
  • pointing errors, 2 x na x ntime, real.
  • gaussian shape, 3 x ngsrc, real.
  • noise vector 4 x nbl x nchan x ntime, real.
  • bayesian data, 4 x nbl x nchan x ntime, complex.

Intermediate Arrays

  • scalar jones terms, na x nchan x ntime x nsrc , complex. Holds the result of the phase terms multiplied by the beam terms.
  • chi squared terms, nbl x nchan x ntime , real. Holds the result of the sum of
    • the square of the real and imaginary components of the the four polarisations, obtained from the
    • difference of the visibilities (model) and the bayesian data

Output

  • visibilities 4 x nbl x nchan x ntime