NONMEM6 で $INFN

 $PRIOR とか $NONPARA とかの新機能はおいといて、その他の「改良点」にはあまりメリットを感じない。唯一使えると感じるのが $INFN だろうか。今までは Fortran の別ファイルとして用意して、$SUB ... INFN= で組み込んでいた。NONMEM6 では管理すべきファイルがコントロールファイル一つになるわけだから喜ばしいとは言える。もっとも、ほとんど変わらないコードが全てのコントロールファイルに付加されてしまうのが無駄だ。

$INFN
 IF (ICALL.EQ.0) THEN
   OPEN(49, FILE = 'ETA.TXT')
   OPEN(50, FILE = 'PAR.TXT')
 ENDIF
 IF (ICALL.EQ.3) THEN
   DO WHILE(DATA)
    IF (NEWIND.LE.1) WRITE (49,*) ETA
   ENDDO
   WRITE (50,*) OBJECT
   WRITE (50,*) IERE,IERC
   WRITE (50,*) THETA
   WRITE (50,*) SETHET
   WRITE (50,*) OMEGA(BLOCK)
   WRITE (50,*) SEOMEG(BLOCK)
   WRITE (50,*) SIGMA(BLOCK)
   WRITE (50,*) SESIGM(BLOCK)
 ENDIF