These days most of everything comes down to software one way or another. Some important infrastructure codes:
pyuvdata – Precision definition of interferometry file formats including measurement set, uvfits, miriad. Also defines a format using hdf5. Also calibration files, beam files, and now catalogs. Also a demonstration place for software engineering and community development practice. Includes tested tutorials, detailed changelogs, windows support, and more.
pyuvsim – A minimal-approximation interferometer simulation engine. Designed to serve as high dynamic range reference simulator for faster simulators with lower precision
CASA – The NRAO’s data analysis package for VLA and ALMA, also used for many other arrays. casacore is the base library which can be used via python or other languages.
21cmsense – Calculates power spectrum sensitivities for 21cm arrays. Original by J. Pober, updated in 2020 by S. Murray. et al.
21cmmc/21cmfast – Widely used to simulate cosmic dawn and EoR. With 21cmmc it can also used to make sensitivity predictions or fit models to data.
Languages
The lingua franca for much of the HERA community is python, with C where speed is necessary. Much of EDGES analysis is done in MATLAB, though moving to python. The FHD/Eppsilon package is written in IDL.
Python Stack Instructions
Note: These instructions were posted ca 2014. At that time python on use on shared clusters was still maturing. This advice is now pretty standard, but maybe worth leaving here.
Here’s how to get quickly up and running with my recommended python stack. Cross-posted from the PAPER and HERA wikis with slight modification.
From the wiki page:
These instructions were created partly to remove a previous regrettable tendency for folks to think that on a multi-user computer system like a cluster A) python environments can or should be shared and the B) its up to the system owners/administrators to install each python module for users. These are both counter to the core python concept of frequently installing new libraries to solve new problems. There is no maintained, globally installed, python stack. After several troubling incidents, global installs have been banned from the PAPER Penn cluster, and instead users are encouraged to set up their own. Its easy! Here are the instructions for getting your own up and running on Mac or Linux research environment.
Step 0, Download anaconda. Go to https://www.continuum.io/downloads and download the command line installer.
Step 1, install anaconda:
folio $ bash Anaconda-2.2.0-Linux-x86_64.sh
Choose something simple like ~/src/anaconda
for your directory. This will help debugging later if everyone uses the same directory
Step 2: add ~/src/anaconda/bin/ to your PATH.
Step 2.1: double check that the install file is up to datefolio $conda update anaconda
Step 3: create an environment with: conda create -n HERA anaconda #the "anaconda" option adds a pretty comprehensive package list
Step 4: activate it with,source activate HERA
Step 5: install anything else you might need with “conda install ” if that doesn’t have what you need, use “pip install “. you can always do the regular “python setup.py install” of any package that you download as a zip.
ASU Eduroam
Here is the ASU eduroam configuration for os x. Download and run. certificate. Works as of 23 April 2016
Deprecated Stuff
AIPY (Astronomical Interferometry in Python)
Key features:
- Simulation and imaging for radio telescopes
- Miriad python wrappers
- Healpix python wrappers
PAPERcasa
Adds some “essential” modules to CASA and the ability to install more via the casapython script.
Currently adds the following modules:
- AIPY
- pyephem
pyfitsNow included in casa 4- vo.table
- setuptools
- psycopg2
- pip
- astropy (includes former astrolib tools vo.table and wcs)
- numpy
Download:
- PAPERcasa-1.5.tar.bz2 11 July 2013
- PAPERcasa-1.4.tar.bz2 18 Jul 2012
- PAPERcasa-1.3.tar.bz2 27 Feb 2012
Installation:
tar -xvf PAPERcasa-1.3.tar.bz2
cd PAPERcasa
./install_PAPERcasa.sh <path to casa>
Usage:
Install additional python libraries with:
PAPERcasa/PAPERcasa_env.sh #required for packages that link against python C bindings (included in PAPERcasa)
casapython setup.py install