ADMIT Installation Notes
Contents |
ADMIT for developers:
You will need to know where CASA is installed on your machine (see our CASA support page). The following (csh) commands get your started on installing ADMIT (use USER = anonymous to get a read-only version, developers should know their USER name). bash users use the .sh variant.
cvs -Q -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot checkout admit cd admit autoconf ./configure --with-casa-root=/astromake/opt/casa/stable source admit_start.csh
This will define the $ADMIT environment variable. There is also a top level INSTALL file, which contains more hints to install ADMIT with advanced options, most of which you will not need to get started. If you do not have autoconf installed, you can try and download the (possibly outdated) [[1]] file instead, and then cvs update -d this version.
The command
admit
will remind you that ADMIT has been installed, it doesn't do anything other than that right now. The top level Makefile also has some useful reminders what can do now and to do some very basic testing of ADMIT in a CASA environment. For example
make python0 make python1
are both essential to run tests. But making the documentation is not (and is currently fragile):
make pdf make html make doc
and to simulate the buildbot
make buildbot
For beginning developers this may not work if you don't have sphinx added to your CASA, in that case use
make unit
although that currently does very little testing.
We do have some **rogue testing** installed, these are basically python (pure python as well as casarun-python) scripts that run through some Flow*_AT's. You can run them via
make unit0_clean make unit0 make unit0
and they should not fail. The 2nd run will re-run an existing test and should also not fail. Those test_Flow* scripts are instructive to see how basic Flow's can be created using ADMIT.
Running an NGC 253 test dataset
This example
cd $ADMIT make data n253 cd data $ADMIT/admit/test/admit1.py ngc253_fullcube_compact_spw3_clean.ce.fits --alias x >& x.log
should give lots of interesting things to look at in a directory called ngc253_fullcube_compact_spw3_clean.ce.admit. The x.log file might be useful for developers to look at in the casa where things don't look so interesting. This example should take about 2 minutes.
Enhancing your CASA with extra tools
For reasons beyond our control, CASA comes with its own python, which in a default installation isn't even accessible to mortal users. You will need to enhance your shell to see and work with that python. Installing ADMIT will take care of this last part, but if you don't have write permission into your version of CASA, there is only a limited number of things you can do as a developer. You would not be able to build the documentation, as this requires sphinx to be installed within CASA's python. See also casa-python and drive-casa for ways to interact with CASA and its python.
Here's a recipe for installing sphinx: (you don't need an active $ADMIT, just the get-pip.py)
% cd $ADMIT/integration-test % casapy --nologger --nogui : !python get-pip.py : quit % rehash % which pip # confirm that this is now in casa's path % pip install sphinx % pip install numpydoc
There are a number of interesting modules you can install within your CASA python, if you want direct access to them.
% make all
will check them for you, and report the version of the ones you have in your python environment.
ADMIT for users:
A user installation is expected to be using conda or egg based. We have experimented some with this, but nothing stable is available at the time. You might see the usual setup.py script in the root directory for ADMIT for this. But this is not publicly available yet.
Examples for ALMA Data Reduction Party
The following notes apply to the demo given during the Jan 28 ADMIT talk (Peter Teuben)
If you run on the NRAO/CV lustre system
The following command would enable ADMIT in your current (assumed bash) shell:
source ~pteuben/admit/admit_start.sh
then the command admit will display some settings in your new ADMIT/CASA environment:
admit
ADMIT = /users/pteuben/admit version = 0.5.2 CASA_ROOT = /users/pteuben/casa-release-4.5.0-el6 version = 4.5.0
CAVEAT: this will use "my" 4.5 release version of CASA, not the NRAO system version
Make a symbolic link to the fits file and run admit1.py via the runa1 script:
mkdir /lustre/naasc/users/pteuben/demo cd /lustre/naasc/users/pteuben/demo ln -s $ADMIT/testdata/test21.fits
listfitsa test21.fits test21.fits (1, 300, 180, 180) Serpens_Main 277.491666667 1.22916666667 0.036 runa1 test21.fits /users/pteuben/admit/admit/test/admit1.py --alias x test21.fits Logfile: test21.fits.log
real 1m39.088s user 0m15.339s sys 0m2.421s aopen test21.admit
firefox file:///`pwd`/test21.admit/index.html
# or cf. to my laptop /data2/teuben/ADMIT/demo/admit/admit/test/admit1.py --alias x test21.fits Logfile: test21.fits.log 18.367u 1.202s 0:36.14 54.1% 0+0k 192+115424io 0pf+0w
If you want to install it on your system
The example below is for linux, but should translate easily to Mac users.
- Grab the CASA and ADMIT tar files:
wget https://svn.cv.nrao.edu/casa/linux_distro/release/el6/casa-release-4.5.0-el6.tar.gz wget http://admit.astro.umd.edu/~teuben/admit/dist/admit.tar.gz
- Untar CASA and prepare CASA_ROOT for ADMIT
tar zxf casa-release-4.5.0-el6.tar.gz export CASA_ROOT=`pwd`/casa-release-4.5.0-el6
- Untar ADMIT and configure it with this casa, optionally point to a location where ADMIT testdata are. Hopefully you have the command 'cvs' installed, as this is the easiest way right now to update ADMIT to the latest version:
tar zxf admit.tar.gz cd admit cvs update ./configure --with-casa-root=$CASA_ROOT --with-testdata=/home/teuben/ADMIT/data1/M3 source admit_start.sh
- Type the admit command to see if it's happy
admit ADMIT = /home/teuben/ADMIT/admit version = 0.5.2 CASA_ROOT = /astromake/opt/casa/stable version = 4.6.72
- Use the runa1 script (which calls the admit1.py recipe) on a fits file:
runa1 test21.fits
- or a pipeline imaging standard long name
runa1 uid___A001_X12b_X231.NGC_1068_sci.spw17.cube.I
which knows that there are two fits files (.pbcor.fits and .pb.fits) that need to be divided for the noise flat cubes that ADMIT needs for it's processing.