ADMIT Installation Notes

From CARMA
Jump to: navigation, search

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.

  git clone https://github.com/astroumd/admit
  cd admit
  autoconf                # if this command doesn't exist, try:    cp scripts/configure .
  ./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 testdata
  make regression
  cd data


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. A version of casa where ADMIT has been included is under development, see notes in the script/redo_deploy script.

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 = 1.0.4
  CASA_ROOT   = /users/pteuben/casa-release-4.5.3-el6
      version = 4.5.2
      release = 36115


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/test0.fits 
  listfitsa test0.fits
                            test0.fits (1, 300, 180, 180) Serpens_Main 277.491666667 1.22916666667 0.036
  runa1 test0.fits
          /users/pteuben/admit/admit/test/admit1.py --alias x test21.fits
          Logfile: test0.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 run on the JAO/lustre system

The following command would enable ADMIT in your current (assumed bash) shell on the SCIOPS cluster:

  source /opt/software/admit/admit_start.sh

then the command admit will display some settings in your new ADMIT/CASA environment:

  admit
  ADMIT       = /opt/software/admit
      version = 0.5.2
  CASA_ROOT   = /opt/casa/packages/RHEL6/release/casa-release-4.5.2-el6-test
      version = 4.5.2


You can now some admit recipes as follows:


  #  first list a simple one liner on the size of the datacube
  listfitsa test21.fits
                            test21.fits (1, 300, 180, 180) Serpens_Main 277.491666667 1.22916666667 0.036
  # then run recipe 1 (admit1.py)
  runa1 test21.fits
          /opt/software/admit/admit/test/admit1.py --alias x test21.fits
          48.200u 17.921s 2:50.98 38.6%	0+0k 0+0io 274pf+0w
          Logfile: test21.fits.log
  # either use your local filebrowser to look at all the dataproducts   
  aopen test21.admit
  # or let a webview (slightly limited view, but easier to understand) guide you
  firefox test21.admit/index.html

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, for example:
    wget https://svn.cv.nrao.edu/casa/distro/linux/release/el6/casa-release-4.6.0-el6.tar.gz
    wget http://admit.astro.umd.edu/admit.tar.gz
  • Untar CASA and prepare CASA_ROOT for ADMIT
    tar zxf casa-release-4.6.0-el6.tar.gz
    export CASA_ROOT=`pwd`/casa-release-4.6.0-el6
  • Untar ADMIT and configure it with this casa, optionally point to a location where ADMIT testdata are.
    tar zxf admit.tar.gz
    cd admit
    ./configure  --with-casa-root=$CASA_ROOT  --with-testdata=/home/teuben/ADMIT/testdata
    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.0
  • Use the runa1 script (which calls the admit1.py recipe) on a fits file:
    runa1 test0.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.

Installing on an RPM based system

Some older (Redhat5) systems may have installed CASA using an rpm, and you may not have an easy to define CASA_ROOT. For example, /usr/bin/casa could be where you start casa from. ADMIT does not support this type of CASA installation, although with the right settings of the $PATH it can be made to work (notably python needs to come from the CASA tree)

Personal tools