irafインストールメモ(for Mac)
2012年10月にMacPro(mountain lion OS X 10.8.2)@CfA/OIRオフィスにiraf ver2.1.6をインストールしたときの記録です。最近のirafは偉く簡単になったんだな、と感心。 ひょっとしたらlinux用も同じくらい簡単になってるかも。。。

★IRAFとは?
・FITSファイル・・・天文業界で一般的に使われてるフォーマット。ヘッダ(説明メモ?)+データ(画像とか)からなる。

・IRAF・・・FITSの中身を勝手に読み込み、指令を下せる。可視近赤の天文学における代表的な解析ツール

・ds9・・・画像viewer。irafから指令下せるので便利。

・タスク・・・IRAF上のコマンドのこと。必ずなんらかのpackageに属していることに注意。


★事前にいれとくもの
◎xterm(iraf用のターミナル)
・Xcodeを入れたら勝手に入ってる。
:自分はApple Storeからインストールした。

→これでもう完了。端末上で"$ xterm &"とうてばxterm立ち上がるはず

※キーボード配列の日本語環境設定
デフォルトだと"Shift+6"で"^"になったり、キー配列がUS認識だった(アメリカ で購入したMacだから?関係ない?)。それを直すため以下のようにした。
・以下のkeymapファイルを適当な名前で保存
=> x11_keymap.txt
・問題ないか確認(すっとばしてもOK)
$ xmodmap x11_keymap.txt
再度xtermを開いたらキー配列が日本語版になっているはず。
・~/.Xmodmapというファイル名で保存
$ mv x11_keymap.txt ~/.Xmodmap
これで次回X11.app起動から自動的に読み込まれる。


◎ds9(fitsファイル用の画像ビュウアー)
ds9のページ("ds9 download"などとググればすぐ出てくる)からMac用の最新版 を拾ってきてなんとなくやってれば解凍/インストールできちゃう。Macの便 利で怖い所だと思う。。。

◎fortran,c言語
デフォルトで入っているか分からないが、チェックするためにはコンパイルのコマンドを打って確認してみる。
入っていれば
$ g77
g77: no input files
$ gcc
gcc: no input files
のように出て、
入ってなければ
$ g95
zsh: g95: command not found
のように表示される。


◎csh
これもデフォルトではいってることも多いが、なければMacportで
$ sudo port install csh
ですぐに入る



★irafのインストール

http://iraf.noao.edu/から最新版 (Mac64bit用、iraf.macx.x86_64.tar.gz)を~/Downloadとかにダウンロード

◎iraf用のユーザーアカウントを作成 "システム環境設定"の"ユーザーとグループ"から適当に作成。必要ないのかも しれない。

◎irafを入れるディレクトリを作る(スーパーユーザーになって)
$ sudo mkdir /usr/local
$ sudo mkdir /usr/local/iraf
$ sudo mkdir /usr/local/iraf/iraf
$ sudo mkdir /usr/local/bin


◎rootアカウントとしてダウンロードしたデータを展開
・/usr/local/iraf/iraf/でデータの解凍展開
$ cd /usr/local/iraf/iraf
$ sudo mv ~/Download/iraf.macx.x86_64.tar.gz .
$ sudo tar -zxpf iraf.macx.x86_64.tar.gz


◎インストールの実行
(環境設定に関するおまじない系)
$ csh
$ sudo setenv iraf /usr/local/iraf/iraf
$ cd /usr/local/iraf/iraf/unix/hlib
$ sudo source irafuser.csh (cshスクリプトの実行)

・rootユーザーとして本番のインストール
$ sudo./install
※質問をいろいろしてくるが、ディレクトリ設定に関しては、以下のようにし た
New iraf root directory は /usr/local/iraf/iraf
Default root image storage directory は /usr/local/iraf/imdirs
Default root cache directory は /usr/local/iraf/cache
Local unix commands directory は /usr/local/bin
また
 Configure IRAF Networking on this machine? (yes):<=== no
yesのままだと失敗するらしい

→以上でirafのインストールが完了したはず!!



★irafの初期設定(login.clをいじる)
login.clはデフォルトのままでも大丈夫な気がするが一応以下のように書き換えた。

#cd /iraf/iraf/unix/hlib
#emacs login.cl &
# LOGIN.CL -- User login file for the IRAF command language.
# Identify login.cl version (checked in images.cl).
if (defpar ("logver"))
logver = "IRAF V2.14.1 September 2008"
set home = "U_HOME"
set imdir = "HDR$/"
set uparm = "home$uparm/"
set userid = "U_USER"
# Set the terminal type. We assume the user has defined this correctly
# when issuing the MKIRAF and no longer key off the unix TERM to set a
# default.
if (access (".hushiraf") == no)
print "setting terminal type to U_TERM..."
stty U_TERM
# Uncomment and edit to change the defaults.
#set editor = vi
#set printer = lp
#set pspage = "letter"
set stdimage = imt4096
#set stdimcur = stdimage
#set stdplot = lw
#set clobber = no
#set filewait = yes
#set cmbuflen = 512000
#set min_lenuserarea = 64000
set imtype = "fits"
set imextn = "oif:imh fxf:fits,fit fxb:fxb plf:pl qpf:qp stf:hhh,??h"
# XIMTOOL/DISPLAY stuff. Set node to the name of your workstation to
# enable remote image display. The trailing "!" is required.
#set node = "my_workstation!"
# CL parameters you mighth want to change.
#ehinit = "nostandout eol noverify"
#epinit = "standout showall"
showtype = yes
# Load the default CL package. Doing so here allows us to override package
# paths and load personalized packages from our loginuser.cl.
clpackage
# Default USER package; extend or modify as you wish. Note that this can
# be used to call FORTRAN programs from IRAF.
package user
task $adb $bc $cal $cat $comm $cp $csh $date $dbx $df $diff = "$foreign"
task $du $find $finger $ftp $grep $lpq $lprm $ls $mail $make = "$foreign"
task $man $mon $mv $nm $od $ps $rcp $rlogin $rsh $ruptime = "$foreign"
task $rwho $sh $spell $sps $strings $su $telnet $tip $top = "$foreign"
task $vi $emacs $w $wc $less $rusers $sync $pwd $gdb = "$foreign"
task $xc $mkpkg $generic $rtar $wtar $buglog = "$foreign"
#task $fc = "$xc -h $* -limfort -lsys -lvops -los"
task $fc = ("$" // envget("iraf") // "unix/hlib/fc.csh" //
" -h $* -limfort -lsys -lvops -los")
task $nbugs = ("$(setenv EDITOR 'buglog -e';" //
"less -Cqm +G " // envget ("iraf") // "local/bugs.*)")
task $cls = "$clear;ls"
task $clw = "$clear;w"
task $pg = ("$(less -Cqm $*)")
if (access ("home$loginuser.cl"))
cl < "home$loginuser.cl"
;
keep
prcache directory
cache directory page type help
# Print the message of the day.
if (access (".hushiraf"))
menus = no
else {
clear; type hlib$motd
}
# Delete any old MTIO lock (magtape position) files.
if (deftask ("mtclean"))
mtclean
else
delete uparm$mt?.lok,uparm$*.wcs verify-
# List any packages you want loaded at login time, ONE PER LINE.
images # general image operators
plot # graphics tasks
dataio # data conversions, import export
lists # list processing
# The if(deftask...) is needed for V2.9 compatibility.
if (deftask ("proto"))
proto # prototype or ad hoc tasks
tv # image display
utilities # miscellaneous utilities
noao # optical astronomy packages
keep



★login.clをつくる(irafを初めて使うときの儀式)

◎login.clをつくる
場所はどこでも構わないが、わかりやすさ的に自分アカウントのホームディレクトリに作った。
$ mkiraf
と打つと、使用termを聞いてくるので
xterm
と指定する。
→これでlogin.clできたはず



★irafの起動方法
xtermを開き、ホームディレクトリ内で"cl"と打てばOK
$ xterm &
(xterm内で)
$ cl

vocl>
となったら完璧!

※iraf抜けるときは
vocl> logout




☆参考
kouyama@terra/iraf/Install_mac
JavaFlavor Weblog(xtermの日本語環境設定)






外部パッケージのインストール
こちらも最近のirafでは以前に比べて簡単になったのでメモ。これはlinuxでも同様に簡単化してると思われる。
ただしiraf.noao.eduが出してる公認パッケージ(?)のみで、少なくともcolor パッケージには対応してない。

・extern/ディレクトリに行く
Macで上述通りにirafをインストールした場合は、 /usr/local/iraf/iraf/extern/にある。(なければfindコマンドとかで探すこと)
$ cd /usr/local/iraf/iraf/extern

※デフォルトだとextern/内にREADMEとconfigureの二つがあるはず。READMEに詳 しくは書いてあるが、以下必要な部分だけ略記。

・外部パッケージ用のディレクトリを準備
$ sudo ./configure
たくさんディレクトリが出るが、そのディレクトリ名になってなっているパッ ケージをインストール可能。

・インストール
例えば自分はstsdasとtablesをインストールしたかったので、
$ sudo make stsdas tables
とした。
これだけで終了。簡単。

・使用可能パッケージのチェック
$ sudo make check
とうつだけで一覧表でてくる。

・アップデート
インストール済みのパッケージや自動インストールシステムそのもののセルフ アップデートもコマンド一つでできる。実際にまだやってないので書かないが READMEに書いてある。





目次に戻る