EveryBeam Testing and Development

Installing EveryBeam

The build instructions for EveryBeam live on the everybeam insallation page. However, you need to clone my branch as currently it’s the only branch where you can easily feed az,za coords directly into the beam. We want to do that in WODEN as we precess the array position back to J2000, instead of precessing the ra,dec coordinates forward to the current date. EveryBeam will automatically precess any ra,dec. Clone my branch via:

$ git clone -b mwa_python_wrapper --recursive -j4 https://git.astron.nl/RD/EveryBeam.git

When I ran cmake, I did:

cmake .. -DCMAKE_INSTALL_PREFIX=/home/jline/software/installed/

so I would know where the installation went.

For the record, if you need to install the native EveryBeam Python wrapper, you need first to add this to your cmake command (and then remake and install):

$ cmake .. -DBUILD_WITH_PYTHON=ON

Once that’s done, I had to do some linking, as I was using a conda environment, and EveryBeam wants to be system wide:

$ export PYTHONPATH=$PYTHONPATH:"/home/jline/software/installed/lib/python3.12/site-packages"
$ ln -s /home/jline/software/installed/share/everybeam /home/jline/software/anaconda3/envs/woden_dev/share/everybeam

which let my conda environment see everything it needed to. When I was running notebooks, which don’t load stuff from system, only the conda environment, I had to do:

$ conda install -c conda-forge libstdcxx-ng
$ conda install hdf5

Work still to be done on EveryBeam in WODEN

  • Only certain frequencies exists in certain models. This means we don’t need to call EveryBeam for every single frequency. So create some kind of cache or map for the existing beam models to save compute.

  • Getting rid of the reliance on my branch of EveryBeam. This will require a change in the EveryBeam API to allow for feeding in az,za directly, and working with the authors to get it merged.