TrAjectory BAsed RFI Subtraction and CALibration (tabascal) of radio interferometry data. A source to visibility model for RFI sources including certain near-field effects. Visibility data is jointly calibrated and cleaned from specific RFI contamination by modelling the RFI signal in the visibilities.
tabascal
is written in JAX
and Dask and can therefore use GPUs and/or CPUs and be distributed across clusters of these compute units.
git clone https://github.com/chrisfinlay/tabascal.git
Create a conda environment with all the dependencies including JAX with optional GPU support.
conda env create -n tab_env -f tabascal/env_gpu.yaml
or
conda env create -n tab_env -f tabascal/env_cpu.yaml
Then proceed to activate the conda environment and install tabascal
conda activate tab_env
pip install -e tabascal/
Alternatively, you can install tabascal
with pip alone inside an enivironment of your choice, again, with optional GPU support.
pip install -e ./tabascal/[gpu]
or
pip install -e ./tabascal/
To enable GPU compute you need the GPU version of jaxlib
installed. The easiest way is using pip, as is done using the env_gpu.yaml
, otherwise, refer to the JAX installation documentation.
sim-target
sim-target --help
tabascal
now includes the facility to define a simulation using a YaML configuration file. There is a general command line interface to run these simulations allowing one to change certain parameters on the file as well as in the configuration file. All input data is copied into the output simulation directory to allow one to run an identical simulation with ease. Inside tabascal/examples/yaml_obs are a set of config files to get you started. There are also example data files which are used for including predefined astronomical and rfi models. They are all csv
files with file extensions to help distinguish them. To run a simulation of a target field with 100 randomly distributed point sources (just like is shown above) simply run
sim-vis -c target_obs.yaml
Again, as before, you can run the help function to see what other command line options there are.
sim-vis -h
Downstream analysis such as flagging, RFI subtraction, imaging, and source extraction can be performed through such configuration files as well. This is currently still in development where the tabascal
RFI subtraction algorithm itself is not yet publically available. However, a full end to end analysis pipeline is available. Individual portions can be accessed through the command line scripts: flag-data
, image
, and src-extract
, with example configs in tabascal/analysis/yaml_configs/target. All three of these can be perfomed in a single command line script by using extract
. See the help documentation of these scripts for further details.
Measurement sets allow the addition of non-standard data columns. The simulator in tabascal takes advantage of this and adds the following columns to help with debugging and analysis.
DATA
: Observed data which includes gains and noise.CORRECTED_DATA
: Filled with zeros or the data of ones choice when calling thewrite_ms
function.MODEL_DATA
: Filled with zeros as it will be used byWSCLEAN
when imaging.
CAL_DATA
: Observed data (DATA
) where the true gain solutions have been applied.AST_MODEL_DATA
: The astronomical visibilities only with perfect gains and no noise.RFI_MODEL_DATA
: The RFI visibilities only with perfect gains and no noise.AST_DATA
: The same asAST_MODEL_DATA
but with the noise added.RFI_DATA
: The same asRFI_MODEL_DATA
but with the noise added.NOISE_DATA
: The complex noise that is added to the above datasets.
https://tabascal.readthedocs.io/en/latest/
@ARTICLE{Finlay2023,
author = {{Finlay}, Chris and {Bassett}, Bruce A. and {Kunz}, Martin and {Oozeer}, Nadeem},
title = "{Trajectory-based RFI subtraction and calibration for radio interferometry}",
journal = {\mnras},
year = 2023,
month = sep,
volume = {524},
number = {3},
pages = {3231-3251},
doi = {10.1093/mnras/stad1979},
archivePrefix = {arXiv},
eprint = {2301.04188},
}