MIRIAD

MIRIAD (Multichannel Image Reconstruction, Image Analysis and Display) is a toolbox, in the form of an environment with a large set of moderate-sized programs which perform individual tasks, involving calibration, mapping, deconvolution and image analysis of interferometric data.

I opted to install CARMA/MIRIAD as it is suggested (if you need to work with large files and/or large number of antennae (e.g. ATA, ALMA or LOFAR) for simulations and for pure image analysis). Also, the ATNF/MIRIAD has been mostly merged into CARMA/MIRIAD.

More information can be found here.

Installation

Installation was accomplished via CVS release.

Used a csh shell for installation.

metis:/usr/local> unsetenv MIR
metis:/usr/local> cd /usr/local
metis:/usr/local> cvs -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot  login

Logging in to :pserver:anonymous@cvs.astro.umd.edu:2401/home/cvsroot
CVS password:

metis:/usr/local> sudo cvs -d :pserver:anonymous@cvs.astro.umd.edu:/home/cvsroot -Q co miriad
metis:/usr/local> cd miriad/borrow

metis:/usr/local/miriad/borrow> sudo cvs -Q co wip
metis:/usr/local/miriad/borrow> sudo cvs -Q co rad
metis:/usr/local/miriad/borrow> cd ../install
metis:/usr/local/miriad/install> sudo ./install.linux

### Warning: this script is deprecated, use install.miriad now
MIRIAD installation 1-dec-05, for linux
...
metis:/usr/local/miriad/install> sudo ./install.miriad now
MIRIAD installation 1-dec-05, for linux
Running configure, telescope=carma, logfile in configure.LOG:
OK.
Using internal build with mirroot=/usr/local/miriad
mir.mkdirs /usr/local/miriad
Using g77 compiler for linux
Making the MIR tree writable
Installing scripts....
Yuck, resetting xbit in MIRBIN
Warning: you have /usr/lib/libbsd-compat.a
Warning: you do not have /usr/lib/libbsd.a
Borrowing the system version of libreadline.a for linux from /usr/lib
LIB: linpack subs
/usr/local/miriad/lib/linux /usr/local/miriad
/usr/local/miriad
PGM: prog wip rad
Compiling UVIO:
Compiling XCORF:
mv: cannot stat `xcorf': No such file or directory
rm -f *.o xcorf
LOCAL install patches for CVS
Updating /usr/local/miriad with UMD patches for version miriad
Keeping log in /usr/local/miriad/tmp/mir.genman.log
Sometimes this program can hang on linux man page updates.....
[1] 26439
[1]    Exit 1                        mir.genman -n >& $MIR/tmp/mir.genman.log

MIRIAD version 4.0.4 [CVS] loaded from MIR=/usr/local/miriad
  Optimized for telescope=carma

Borrowing the system version of libforms linux from /usr/lib
Compiling velplotc:
Compiling rpfits
rm -f *.o core test.tmp
Compiling atnf code: atlod
Checking binaries:
Found 1 / 303 binaries missing:
xcorf
Running basic: OK
Running xyio: OK
Running uvio: OK
Running map: OK
Running rad: OK
Creating logfile for baseline check:
Record date and version etc.
metis:/usr/local/miriad/install>

Package Dependencies

The following packages were required for proper compilation/installation:

lesstif1, libforms-bin, libforms-dev All were available using apt.

cdelacruz@metis:/usr/local/miriad/install$ sudo apt-get install lesstif1

cdelacruz@metis:/usr/local/miriad/install$ sudo apt-get install libforms-bin

cdelacruz@metis:/usr/local/miriad/install$ sudo apt-get install libforms-dev

cdelacruz@metis:/usr/local/miriad/install$ sudo apt-get install libforms-doc

Testing

metis:/usr/local/miriad> source MIRRC.linux

MIRIAD version 4.0.4 [CVS] loaded from MIR=/usr/local/miriad
  Optimized for telescope=carma

metis:/usr/local/miriad> miriad
Miriad shell (version 3.1 [14-feb-00])
*** Experimental GNU READLINE installed. ***
A command history file is maintained in $MIRDEF/.miriadhis.
Miriad%
Miriad% ?
Miriad is a very simple front end to run Miriad commands.

Syntax for list below:
        [x] are optional arguments.
        <x> are identifiers like file names or keywords.

inp [<task>]             Show current values of keywords [for a task].
set                      Show value of all keywords.
set <key>                Show value of the <key> keyword.
set <key> <value>        Set keyword <key> to <value>.
<key>=<value>            Set keyword <key> to <value>.
unset <key> [<key2>...]  Unset value[s] of keyword[s].
task [<task>]            Show [Set] default taskname.
go [-b] [-r <run>] [<task>] Run [task].
    -b                   Run the task in background.
    -r <run>             Run the task as '<run> <task>'.
gob [<task>]             Run [task] in the background.
help [<task> [-k <key>]] Help [on task['s keyword]].
?                        This help.
view [<task>]            Edit the keyword file [for task].
load/save [<file>]       Load/Save a global keyword file.
tget/tput [-l] [<task>]  Load/Save a keyword file [for a task].
    -l                   Local copy instead of in $DEFDIR.
setenv <env> <value>     Set an environment variable.
unsetenv <env>           Unset an environment variable.
reset                    Reset (remove) all keywords.
input <file>             Process commands from input file.
source <file>            Process commands from input file.
cd [dir]                 Show [Set] the current directory.
version                  Display how Miriad was compiled.
exit/end                 Exit program saving variables.
quit                     Quit program but do not save variables.
<task> [<par> ...]       Unknown commands are passed to the shell.

Miriad% version
Miriad Version=(version 3.1 [14-feb-00])
Compiled on Jan 20 2006
Compile directives used were:
PATHSEARCH:    on; $PATH is searched instead of $MIRBIN.
INTERRUPT:     on; interrupts like ^\, ^C, and ^Y are caught.
READLINE:      on; using GNU command line editor and file completion.
NEWENV:        on; environment variables may be added.
EXECL:         on; foreign commands will permit the use of aliases.
GETENV:        off; system version of getenv() used.
DOER:          off; no local version of cle_exe available.

Run-time directives used are:
Debug mode:    off.
BINPATH:       MIRBIN
DOCPATH:       . MIRPDOC
DEFDIR:        MIRDEF
Miriad% quit
### Warning: Variables not saved in ./lastexit
metis:/usr/local/miriad>

Any subsquent updates can be done via CVS:

    cd $MIR
    ls CVS                         (this better show there is a CVS tree here...)
    cvs -n -q update | grep ^M      (this better show no matches)
    cvs -n -q update | grep ^U      (if this shows entries, you need to update)

    cvs update                      update the code
    mirboss                         become a miriad boss

to update the libraries/binaries, select one of:

    mir.install                     worst case scenario: re-install everything
or
    mir.install subs prog           near worst-case scenario
or if you know exactly the smallest amount of work to, e.g.

    mir.subs fitsio.for
    mir.prog fits.for

If you need debugging turned on,

    setenv MIRDEBUG 1

anywhere in this flow, and anything after that will be compiled in debug
mode. Intermediate .f files will be placed in $MIRLIB in case the debugger
needs the source (since our "fortran" .for are pre-processed).